import time from datetime import datetime def show_second(dt=datetime.now()): print(dt.second) show_second() #=> 23 time.sleep(3) show_second() #=> 23 すると、なんということでしょう!三秒間sleepしたにも関わらず二度目の show_second 関数呼び出し時にプリントされる値が三秒前と同じでした…!?時が止まった?ザ・ワールド???新手のスタンド使いか??? Pythonのデフォルト引数値の挙動 さて、これはどういうことかとPythonのドキュメントを読んでみたところ、下記の記述がありました。 デフォルト引数値は関数定義が実行されるときに左から右へ評価されます。 これは、デフォルト引数の式は関数が定義されるときにただ一度だけ評価され、同