私はこれについて少し混乱しています。私のスクリプトの1つに、次の方法があります。
ALIVES = []
def insert_in_alives(num):
ALIVES.append(num)
print len(ALIVES), "alives found."
ここで ALIVES は、メソッドの外で宣言された単なるリストです。ただし、メソッドが呼び出されるたびにupdate_alives
、実際の長さに関係なく、常に次のように出力されALIVES
ます。
>>>1 alives found.
なぜそうしているのか誰か教えてもらえますか?
アップデート:
シェルで試してみましたが、動作します:
In [2]: a = [1,2,3]
In [3]: print len(a)
3
In [4]: def test(num):
...: a.append(num)
...: print len(a)
...:
In [5]: test(5)
4
In [6]: test(7)
5