見出し画像

後で必要にならないのなら、一時変数はなるべく作成しない

今日は、『Head First Python』の1章 “基本” で学んだことをアウトプットします。

from datetime import datetime

odds = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19,
       21, 23, 25, 27, 29, 31, 33, 35, 37,
       39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59]

right_this_minute = datetime.today().minute

if right_this_minute in odds:
   print('分の値は奇数。')
else:
   print('分の値は奇数ではない。')

3番目のコードは、datetimeサブモジュールに含まれるtodayというメソッドを呼び出します。datetimeサブモジュール自体はdatetimeモジュールの一部になります。

todayを呼び出すと(datetime.datetim型の)「時間オブジェクト」を返します。時間オブジェクトには現在の時刻に関する多くの情報が含まれています。この情報には現在の時刻の属性があり、ドット表記構文で取得できます。

このプログラムでは分属性が知りたいので、メソッドの呼び出しに.minuteを追加して取得します。そして、その結果の値をright_this_minute変数に代入します。この行は、「今日の時刻を表すオブジェクトを作成し、分属性の値を取得してそれを変数に代入する」という意味です。

次のように上記のコードを2行に分割して、理解しやすくしてみます。

time_now = datetime.today()
right_this_minute = time_now.minute

1行目で現在の時刻を決定して、2行目で分の値を取得しています。
わかりやすくなりましたが、time_nowが一時変数となってしまいます。

本書によると、「ほとんどのPythonプログラマは、一時変数が後で必要にならない限りは一時変数を作成したくない」らしいです。

サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪