Pythonモジュールのインポート

Pythonには「モジュール」といわれる便利なライブラリが多数用意されています。モジュールとは、他のプログラムから再利用できるようにしたファイルのことで、Pythonで標準で組み込まれている「標準ライブラリ」や、自身で開発された「拡張ライブラリ」などがあります。

標準ライブラリのインポート

Pythonに標準で含まれるライブラリを「標準ライブラリ」といいます。標準ライブラリには整数型(int)や文字列(str)、リスト(list)、タプル(tuple)などの型や、print()やinput()などの関数といった基本的な関数や型をまとめたモジュールが多数用意されています。

Python 3の標準ライブラリは非常に多くの関数や型が含まれています。以下のサイトでPython 3がサポートしている標準ライブラリの一覧を確認できます。

Python 標準ライブラリ — Python 3.5.2 ドキュメント

標準ライブラリのモジュールを利用可能にするには、以下のようにimport文を実行します。

import モジュール名

整数型(int)や文字列(str)、リスト(list)、タプル(tuple)などのPython本体に標準で搭載されている機能は何もしなくても利用することが可能ですが、それ以外の機能を使用するには、上記のように必要なモジュールをインポートする必要があります。

Pythonで日付や時刻を扱う「datetime」モジュールをインポートするには以下のように記述します。

>>> import datetime

datetimeモジュールには日時を扱うためのさまざまなクラスや関数が用意されています。

  • クラス
    date、time、datetime、timedelta、tzinfo、timezone
  • 関数
    total_seconds()、today()、replace()など

クラスからインスタンスを生成する

インポートしたdatetimeモジュールを使ってインスタンスを生成してみます。

クラスとはオブジェクトの振る舞いを定義したもので、データを格納するための変数や、それを操作する関数が定義されます。インスタンスとはここでいう変数のことをいいます。

例えば「datetime」モジュールの中の「datetime」クラスは日付と時刻を組み合わせたクラスになります。このdatetimeクラスを使用してインスタンスを生成してみます。

datetimeクラスを使ってインスタンスを生成し、変数を「dt」に代入するには以下のように指定します。

dt = datetime.datetime

インスタンスを生成すると、datetimeクラスに用意されている様々な関数を使用することができます。例えば現在の日付と時刻を取得するnow()関数を使用してみます。

#datetimeクラスのインスタンスを生成
>>> dt = datetime.datetime

#now()関数を使って現在時刻を変数nowに代入
>>> now = dt.now()

#結果をprint()関数で表示
>>> print(now)
2016-11-07 16:54:41.444984

now()関数には、year, month, day, hour, minute, second, microsecondといった属性があり、それぞれの属性を指定して実行することも可能です。

>>> print(now.year)
2016
>>> print(now.month)
11
>>> print(now.day)
7
>>> print(now.hour)
16

また、datetime()関数に引数を与えることで、指定した日時のオブジェクトを生成できます。

>>> mydate = datetime.datetime(2020,1,1)
>>> print(mydate)
2020-01-01 00:00:00

先ほどのインスタンス「df」を使って同様のことも実現可能です。

>>> mydate = dt(2020,1,1)
>>> print(mydate)
2020-01-01 00:00:00

fromを使ったモジュールのインポート

モジュールをインポートするときに、次のようにクラス名を指定してインポートすると、指定したクラスのみがインポートされるため、モジュール名を省略することができます。

from モジュール名 import クラス名

例としてfromを使ってdatetimeモジュールからdatetimeクラスを読み込む場合は以下のように実行します。

from datetime import datetime

#datetimeクラスのインスタンスを生成
#fromでクラスを指定してインポートしているため、モジュール名を省略可能
dt = datetime

#now()関数を使って現在時刻を変数nowに代入
now = dt.now()

#結果をprint()関数で表示
>>> print(now)
2016-11-08 12:33:10.966099

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: