函数在python中循环时终止?

2024-04-19 23:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个函数keep_running,我可以根据输入来定义它,使其对运行时间或迭代次数敏感。我似乎不能想出一个pythonic的方法来进行迭代而不减少函数外的计数器,例如:

def keep_running(ttl):
    return ttl > 0

ttl = 1
while keep_running(ttl):
    do_stuff()
    ttl -= 1

有没有更好的方法来做到这一点,最好完全在函数keep_running中?你知道吗


Tags: 方法函数return定义def时间计数器pythonic
2条回答

管理状态的最佳方法可能是在类内部。可以用ttl值初始化对象loop_context,然后循环条件将是loop_context.keep_running()。你知道吗

我不太清楚你的要求。但迭代器可能对您有用。使用迭代器,可以是:

>>> def keep_running(ttl):
    while ttl>0:
        yield ttl
        ttl -= 1
>>> for one_round in keep_running(3):
    print(time.time())

结果是:

1365464545.465
1365464545.495
1365464545.505

相关问题 更多 >