Pythonic do-while循环

时间:2012-11-13 18:20:24

标签: python do-while

虽然python没有明确允许do-while循环,但至少有3种合理的方法可以实现它们:

1)

while True:
    #loop body
    if not expr():
        break

2)

x = True
while x:
    #loop body
    x = expr()

3)

def f():
    #loop body

f()
while expr():
    f()

更不用说提及here的其他方法(例如协同程序,try-except子句,迭代器等),我认为在大多数情况下都是非pythonic。我甚至看到一些答案认为do-while循环是非pythonic,但我不知道一个通​​用的替代方案。

哪种方法最pythonic?它们都有它们的奇怪之处:1)以无限循环开始,2)首先创建一个不透明变量,3)定义一个新函数。有没有人有更好的方法?

0 个答案:

没有答案