python - 如何在 Python 中循环调用函数

标签 python python-2.7

在 Python 2.7.3 中,每次对某个函数进行一定次数的调用时,我都需要递增一个变量。

例如,feetTraveled = 0 每 12 次调用 travelOneInch()feetTraveled += 1

使用 for 循环是最佳选择还是应该使用不同的东西? 如果最好使用像上面这样的 for 循环,那么应该放置什么而不是“每 12 次调用”?

另一个例子:我有四个仆人。它们每个在一个时钟周期内执行一项任务,并且计时器最初为time = 0。因此,每四次调用servantDo()time += 1

最佳答案

在这种情况下,我想我会使用实例方法:

class Foo(object):
    def __init__(self):
        self.inches = 0
        self.feet = 0

    def travel_one_inch(self):
        self.inches += 1
        if self.inches > 11:
            self.inches = 0
            self.feet += 1

    def __str__(self):
        return "{feet} feet and {inches} inches".format(feet=self.feet,inches=self.inches)

a = Foo()
for _ in range(123):
    a.travel_one_inch()
print(a)

绝大多数时候,如果您希望函数在调用之间记住某种状态,那么您根本就不是在寻找函数,而是在寻找具有实例方法的类。

关于python - 如何在 Python 中循环调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13533953/

相关文章:

python - 试图从 python 中的正则表达式匹配中打印一个组

python - 遍历数据库端的表来比较bcrypt哈希后的密码

python - 在应用程序中实现聊天?

python - 计算一个字符串中有多少个数字

python - 将长字符串分解为整数

python - 我认为它应该包含每个 "append"的不同列表,但事实并非如此

python - 检测调用该函数的文件的路径

python - 反转一对一映射字典

python-2.7 - Pandas:将 'crop' 作为大型数据帧仅存储到前 1000 天的最佳方法是什么?

python - 如何像计算机科学家一样思考