我有一个反复运行的函数。在该函数中,我希望仅在第一次运行该函数时运行特定的段。

我不能使用函数外部的任何变量,例如

    firstTime = True

    myFunction(firstTime): #function is inside a loop
        if firstTime == True:
            #code I want to run only once
            firstTime = False
        #code I want to be run over and over again

我也不想使用全局变量。

任何想法如何实现这一点?

最佳答案

使用可变的默认参数:

>>> def Foo(firstTime = []):
    if firstTime == []:
        print('HEY!')
        firstTime.append('Not Empty')
    else:
        print('NICE TRY!')


>>> Foo()
HEY!
>>> Foo()
NICE TRY!
>>> Foo()
NICE TRY!

为什么这样做?查看 this 问题了解更多详情。

关于Python:在无限循环函数中只运行一次代码段..?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33881979/

10-12 21:49