如何检查迭代不会超过None
?
我写了以下代码:
async def foo(categories: list=None):
for category in categories or []:
这是一种好方法,还是我可以避免在每次迭代中以某种方式检查or []
?
答案 0 :(得分:2)
让我们测试一下。
def foo():
print('In foo')
return range(5)
现在,如果我在foo
循环(for
)的头部调用for _ in foo()
,则应该在调用/评估时多次打印In foo
。
所以,
for _ in foo():
pass
In foo
只召唤一次。这意味着它只被评估过一次。