Skip to content

Conversation

@getumen
Copy link

@getumen getumen commented Aug 15, 2025

WHAT

デフォルト引数でend_dtをnowを設定している部分をNoneに変更し、関数内でNoneであった場合にnowを設定する

WHY

Effective Pythonなどで指摘されているように、デフォルトの引数はモジュールが初期化されたときに一度だけ呼び出される。
このため、数日間実行されるプログラムでデータを取得するプログラムを実行しても、最新の日付を取得できない。
これはユーザの意図と異なりうるので、関数の呼び出し時の時刻をend_dtに設定できるように変更した。

最小限の再現コード

>>> import pandas as pd
>>> def f(d=pd.Timestamp.now()):
...     print(d)
...     
>>> f()
2025-08-15 15:03:53.924693
>>> f()
2025-08-15 15:03:53.924693
>>> f()
2025-08-15 15:03:53.924693

@getumen getumen requested a review from s-meitoma as a code owner August 15, 2025 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant