-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 に答える