>>604
i = 10
def num(arg=i):
print(arg)
i = 7
num()
この場合は、def を定義するときにarg= でarg のデフォルト値をセットする。
この時の i は 10だろ。 まだ下の行は実行されていないんだから。
i = 10
def num(arg=None):
arg == i
print(arg)
i = 7
num()
この時のnum内の実行文は実行されたときに動くんだから、i=7 がセットされた値を参照する事になる。
関数のデフォルト値は関数を定義したときに決定される。 関数内の実行文は実行時に決定される。
くだすれPython(超初心者用) その41【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
606デフォルトの名無しさん
2019/03/08(金) 11:24:52.69ID:enrIbZX0■ このスレッドは過去ログ倉庫に格納されています
