-3

我这里有这段代码。我可以添加代码的唯一部分是在'i = 1'行之后的main_____。这个脚本将被执行多次,并且会有一些变量(可能不是'i',可能是'xy','var',任何东西),每次递增1。我已经通过在方法上方将“i”声明为全局来实现这一点,但不幸的是,我不能保持这种状态。

有没有一种方法可以使“i”在上述参数中作为全局变量起作用?

def main______():
    try:
        i+=1
    except NameError:
        i=1 
main______()
4

1 回答 1

1

如果要使用全局变量,则必须将其声明为全局变量。那有什么问题?

如果你需要在调用之间存储状态,你应该使用一个类

>>> class F():
...     def __init__(self):
...         self.i=0
...     def __call__(self):
...         print self.i
...         self.i+=1
... 
>>> f=F()
>>> f()
0
>>> f()
1
>>> f()
2
于 2009-10-19T20:46:13.130 回答