Code Fix

上級可変デフォルト引数が呼び出しをまたいで共有される › パターン3

可変デフォルト引数が呼び出しをまたいで共有される

リストや辞書をデフォルト引数にすると、その1つのオブジェクトが全ての呼び出しで共有されます。

 1  def visit(page, history=______):
                               ^
 2      if history is None:
 3          history = []
 4      history.append(page)
 5      return history
 6  
 7  print(visit("home"))
 8  print(visit("about"))
出力: ['home'] ['home', 'about']期待: ['home'] / ['about'] (エラーにはなりません)

空欄を埋めて実行を通す

広告
広告スロット(未設定)

可変デフォルト引数が呼び出しをまたいで共有される

呼び出すたびに新しく作られるわけではありません。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)