【发布时间】:2015-07-15 23:40:39
【问题描述】:
有没有比
更简单的选择res = returns_value_or_none(arg)
if res:
do_something_with(res)
或
if returns_value_or_none(arg):
do_something_with(returns_value_or_none(arg))
将赋值和if 条件组合到一个语句中?
【问题讨论】:
-
第一种方式很好。如果返回值可以是其他一些有效但错误的值(例如空字符串),请务必使用
if res is None。 -
您真正要在这里寻找的是 C 风格的
if res=spam():或if (ch=getch()) != EOF:,而 Python 没有。 Python 有充分的理由。 Swift 有不同的理由。如果您正在设计一种新语言,并且如果没有令人信服的理由,那么节省一行或 5 个字符可能是值得的,但您可能有其他令人信服的理由。
标签: python if-statement assign