Python の import, module とは何ぞや

例えば  {\sqrt{2}} を計算したいな、と思います。その時は、次のように書きます。

>>> import math  # math module を import
>>> math.sqrt(2) # math module の中にある sqrt と言う関数を使用
1.4142135623730951

 

module は平たく言えば、関数、クラスがはいった箱になります。正確に言えば、「モジュールは Python の定義や文が入ったファイル」となります。


1つのモジュールの中にたくさんの関数、クラス、変数がはいっています。例えば、上で挙げた math モジュールの中には他にも、変数 pi が定義されています。

>>> import math  # math module を import
>>> math.pi # π の値なんかもはいっています。
3.141592653589793

 

実は import することなく使える関数は、ごくごく限られています。このような関数を「組み込み関数(built-in function)」と言います。例えば pinrt 関数が、「組み込み関数(built-in function)」です。

>>> # 別に import しなくても使える。
>>> print('Hello, world!')
Hello, world!

実際に module を作ってみましょう。

環境は Linux, Mac で書いています。

Step1. ファイルを作ります。

これがモジュールになります。

$ cd # ホームディレクトリに移動
$ vim ~/my_module.py

Step2. その中で適当なメソッドを作ります。

モジュールの中には複数のメソッド、クラスを定義できます。

def my_func_us():
  print('Hello, world!')

def my_func_cn():
  print('Nihao, shijie!')

Step3. my_module モジュールを import してみます。

$ cd # ホームディレクトリに移動
$
$ python
>>> import my_module
>>> my_module.my_func_us()
Hello, world!
>>> exit()
$

Step4. 実はこんな呼び出し方もできます。

$ cd # ホームディレクトリに移動
$
$ python
>>> from my_module import my_func_cn
>>> my_func_cn()
Nihao, shijie!