Python の引数デフォルト値に計算式入れて失敗

引数に時間を入れなければ現在の時間、と思って下記のような関数を書いて失敗

def addFile(s, nowTime = datetime.datetime.now()):
この場合、最初の関数生成時にデフォルト値が生成されるそうで、ずっと最初に呼び出した値(時刻)が使われ続けた

None等で対応するそうです
def addFile(s, nowTime = None): if nowTime is None: nowTime = datetime.datetime.now()


コメント