我有这个代码结构:
flag = True
while flag:
do_something()
if some_condition:
flag = False
这是最好的方法吗?还是有更好的pythonic方式?
我有这个代码结构:
flag = True
while flag:
do_something()
if some_condition:
flag = False
这是最好的方法吗?还是有更好的pythonic方式?
while True:
do_something()
if some_condition: break
或者
while not some_condition:
do_something()
要使第二个选项等效于第一个选项,some_condition
必须启动,因为False
这样do_something()
至少会被调用一次。
def late(cond):
yield None
while cond(): yield None
for _ in late(lambda: condition):
do_something()
看起来很奇怪。这里会发生什么?
生成器late()
forst 产生一个值以便无条件地进入循环。并且在每个连续的循环运行中,cond()
都会检查 。