В Python 3.8 вы сможете написать
if error := dict.get("error", None):
print(error)
В Python нет модификаторов операторов в стиле Perl, но, поскольку print
- это функция, вы можете написать выражение в виде
print(error) if (error := dict.get("error", None)) else None
хотя я бы не рекомендовал это. (На самом деле, я не совсем уверен, что выражения присваивания, определенные в PEP-572, взаимодействуют с условным выражением. Я не играл ни с какими ссылочными реализациями, чтобы проверить его, но я верю, что error
будет находиться в области видимости всего выражения .)
Простое if
подобное утверждение, тем не менее, может быть записано в одну строку (хотя, опять же, я бы не рекомендовал это; PEP-8 явно хмурится на
if error := dict.get('error', None): print(error)
)