実践・初級問題チェック

問題 20 /40

現在の日時を取得する場合、正しい記述はどれか。

選択 1

from datetime import datetime

datetime.now()

選択 2

from datetime import datetime

datetime.datetime.now()

選択 3

import datetime

datetime.now()

選択 4

import datetime

now()

解説

選択肢1が正解です。

datetimeモジュールには以下の4つのオブジェクトがあります。

date(日付)
time(時刻)
datetime(日時)
timedelta(日付と時刻の計算)

この中でまぎわらしいのは、モジュールと同じ名前のオブジェクト「datetime」です。

Pythonでモジュールをインポートする場合は、以下のいずれかの記述をします。

-------------------------------
【1】from モジュール名 import オブジェクト名
【2】import モジュール名
-------------------------------

【1】の場合は、コードの中でモジュール名を記述せずに「オブジェクト名.関数名()」で使えます。

【2】の場合は、コードの中で「モジュール名.オブジェクト名.関数名()」と記述する必要があります。


datetimeモジュールの場合、【1】で「モジュール名.オブジェクト名.関数名()」と記述するとAttributeエラーになります。

また、【2】で「オブジェクト名.関数名()」と記述するとAttributeエラーになります。

現在日時を取得する場合、正しい記述は以下のいずれかとなります。

【1】
from datetime import datetime
datetime.now()

【2】
import datetime
datetime.datetime.now()


(公式書籍 p.165-166)