pythonにおける関数のデフォルト値使用上の注意点の詳細
関数でデフォルト値を定義すると、値初期化は一回だけ行われます。つまりdef methodnameに実行されます。次のコードを見てください
from datetime import datetime
def test(t=datetime.today()):
print t
if __name__ == "__main__":
test()
test()
二つの方法で出力を呼び出す時間は同じです。現在の実行時間を予想していません。上記のような場合には、次のような方法で実現することを提案します。
from datetime import datetime
def test2(t = None):
if t is None:
t = datetime.today()
print t
if __name__ == "__main__":
test()
test()
以上のpythonでは関数のデフォルト値を使っています。注意点を詳しく説明すると、小編集が皆さんに提供している内容が全部分かります。