この章のキーワード
- ライブラリ
- datetimeライブラリ
- import
- today()関数
- 関数とメソッド
- from datetime import date
- 公式ドキュメント
- 標準ライブラリ
- モジュール
- 自前のライブラリ
この章のキーワード
Pythonには便利な ライブラリ がいろいろあり、たくさんの機能をかんたんに使うことができます。今回は、Pythonをインストールすると最初からついているライブラリのうち、時刻や日付の計算に使う datetime を使ってみましょう。
import datetime
today = datetime.date.today()print(today)実行すると、今日の日付が表示されます。

今日の日付(この場合は”2022-02-14”)が表示される
import でライブラリを読み込むことができます。 datetime は、デートタイムと読みます。英語でデートは日付、タイムは時刻のことですね。
import datetimedatetime.date は、「datetimeのdate」という意味です。そこにさらに . (ドット)がついて、 datetime.date.today() は「datetimeのdateのtoday()」という意味になります。
datetime ライブラリの中に date オブジェクトがあり、そこにさらに関数 today() があるのです。 today() は、今日の日付を返すので、3行目は変数 today に今日の日付を入れると言う意味になります。
4行目で変数 today を表示しています。
today = datetime.date.today()print(today)datetimeライブラリの中にあるdatetimeオブジェクト(クラス)のメソッドnow()を使って今の時刻を表示させてください。
日付データdateはdatetimeライブラリに含まれているので、毎回 datetime.date のように書かなければいけませんが、これではコードが長くなってしまいます。
今回はdateを直接使って今日の曜日を求めてみましょう。
from datetime import date
today = date.today()print(today.weekday())これを実行すると、0から6までの数字のどれかが表示されます。0が月曜日、1が火曜日・・・6が日曜日です。

このコードを実行した2022年2月14日は月曜日だったので0が表示されました。
from datetime import date で、「datetimeライブラリからdateを読み込む」という意味になります。このようにするとdateを直接使えます。
from datetime import date今回はdatetimeではなくdateを直接呼び出したので、 date.today() というふうに使うことができます。
today = date.today()print(today.weekday())datetimeのように、Pythonに最初から付属しているライブラリは 標準ライブラリ と呼ばれます。標準ライブラリの詳細なマニュアルはPythonの公式サイトにあります。
datetimeライブラリのドキュメントはこちらです。datetimeだけでなく、dateやtime、timedeltaなどのオブジェクトがあります。ひとおとり目を通してみましょう。
datetime - Basic date and time types - Python 3.10.3 documentation
dateオブジェクトとtimedeltaオブジェクトを使って、今日の90日後の日付を求めるプログラムを作ってください。ドキュメントを読んでtimedeltaの使い方を学びましょう。
ライブラリは利用するだけでなく、自分で作ることもできます。今回は、西暦を渡すと令和を返す関数 reiwa() を作ってファイル mylib.py に保存してみましょう。
def reiwa(seireki): return seireki - 2018次に、このmylibを使うPythonのプログラムファイル libtest.py を作って実行してみましょう。
libtest.pyはmylib.pyと 同じフォルダ に置くことに注意してください。
import mylib
print(mylib.reiwa(2022))libtest.pyを実行すると現在の令和の年が表示されます。

4が表示された
mylib.py をライブラリとして使用したいときは import mylib のように、”.py”の部分をはぶいた名前を使います。
import mylib関数 reiwa() はmylibの関数なので、 . を使って mylib.reiwa() のように使います。 reiwa() という書き方では動かないことに注意してください。
print(mylib.reiwa(2022))mylibライブラリに、西暦の数字を渡すと昭和の年号を返す関数 showa() を追加し、libtest.pyから使ってみてください。