main.py
python
1import sample 2 3for num in range(5): 4 sample.add_num() 5
sample.py
python
1num_list=[] 2 3def add_num(): 4 num_list.append(1) 5 print(num_list)
上記のプログラムの時、main.pyを実行するとiのリストの値が記憶されたままになっており、num_listに値がどんどん追加されてしまいます(実行結果1)。
実行結果1:
[1]
[1, 1]
[1, 1, 1]
[1, 1, 1, 1]
[1, 1, 1, 1, 1]
実行結果2のように、呼び出しのたびに新しいnum_listを用意したいのですが、どのようにすれば良いのでしょうか?
実行結果2:
[1]
[1]
[1]
[1]
[1]
sample.pyに関して、add_numメソッド以外にもメソッドを用意してnum_listを参照したいのでグローバルで宣言しています。このグローバル宣言が原因なのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/01 15:09
2020/08/01 15:16
2020/08/01 15:21 編集
2020/08/01 15:26
2020/08/01 15:29
2020/08/01 15:49