一つのPython問題の解析

1887 ワード

一つのPython問題の解析
この問題はtrickyを比較して、いくつかのPythonの基本概念に関連して、変数の作用ドメイン、リストの初期化、実パラメトリック値などを含んで、もし基本的な仕事がしっかりしていないならば、間違いやすいです.
def add_Run(L=None): #    add_Run,        L=None
    if L is None:#  L = None,      L []
        L = []
    L.append('Run')
    return L
add_Run()
add_Run()#L     
print(add_Run(['Lying']))#  ['Lying']   L=['Lying']

実行結果:[‘Lying’,‘Run’]小結:
  • は、関数外で定義された変数のみがグローバル変数であり、その他は実パラメータを含み、デフォルト値はローカル変数です.
  • L=None,LはNoneTypeであり,このときappendは実行できない.
  • 位置実パラメータは、デフォルトのパラメータ
  • に代わることができる.