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

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動

数学のモジュール[編集]

平方根の計算をしたい場合は、「math」という部品を、あらかじめ起動する必要があります。mathは「マス」と読み、「数学」「算数」の意味。(英語では、数学と算数を区別しないで、両方ともmath(マス)という。)

mathを起動してから、組み込み関数「sqrt()」をつかうと、このsqrtをつかった平方根の計算が、できるようになります。

import math
a = math.sqrt(2)
print(a)

のように、使います。

なお、上記プログラムの実行結果は

1.4142135623730951

となります。

普段は、「math」は、起動していません。

なので、冒頭の「import math」を書かないと、エラーになります。

この「import math」のように、ある関数をつかえるようにするための機能を、pythonに読み込む命令のことを、インポートといいます。当然ですが、importは「インポート」と読みます。

英語のimport(インポート)の意味は、何か外国品を輸入(ゆにゅう)したりするような意味です。

しかし python の場合のインポートは、たんに、最初の状態のpython には無い機能をインポート宣言で導入するだけなので、安心してインポートを使用してください。


そして、インポートされる部品「math」のように、インポートされるものをモジュールといいます。


インポートの書式は、下記のようになります。

import モジュール名


インポートの英語 import の2文字目はエム m です。 にている エヌ n と まちがえないようにしてください。


また、インポートされた関数をつかうときは、どのモジュールに由来する関数かを、pythonが判断できるようにするために、「math.sqrt()」のように、関数の前にモジュール名を書きます。「.」はドット記号です。つまり、「モジュール名.関数名」のような書式になります。

mathモジュールでは、三角関数や指数関数なども、使えます。三角関数の単位は、ラジアン単位です。(※ ラジアンとはなにか、高校で習います。小学生~中学の読者は、この節を読み飛ばしてください。おおまかにいうと、180度は約3.14ラジアンです。)

import math
a = math.sin(3/2)
print(a)

なお、上記プログラムの実行結果は

0.9974949866040544

となります。

mathモジュールの関数
関数 内容
sqrt() 平方根
sin() 三角関数のサイン。(ラジアン単位)
cos() 三角関数のコサイン。(ラジアン単位)
tan() 三角関数のタンジェント。(ラジアン単位)

また、mathモジュールには、円周率などの定数も用意されている。

mathモジュールの関数
定数 内容
pi 円周率(3.14.1592・・・)
e 自然対数の底。(2.718281・・・)

乱数のモジュール[編集]

サイコロの目のような、乱数をつかうには、randomモジュールをインポートします。

import random
a = random.randint(1,6)
print(a)

「randint(a,b)」により、a以上でb以下の整数を、不規則に表示することができます。

たとえば、上記のプログラムを実行すると、

(実行結果の例:1回目)

3


(実行結果の例:2回目)

2

のように、実行するたびに、不規則に、1から6までの整数のうちの、どれか1つが表示されます。


なお、数などが不規則なことをランダムといいます。

また、不規則に生成された数のことを乱数(らんすう)といいます。

randomモジュールをインポートすることにより、乱数が生成できるようになり、よって、pythonプログラムでランダムな処理をすることができます。


一部分のインポート[編集]

たとえばmathモジュールから、sqrtだけインポートしたい場合、コードが次のようになります。

from math import sqrt
a = sqrt(2)
print(a)
from モジュール名 import インポートしたい関数名

の書式により、特定の関数だけを選んでインポートできます。

こうして、選んでインポートした特定の関数を使う場合は、「math.」をつけず、そのまま「sqrt(2)」のように使用する必要があります。

「from math import sqrt」でインポートした場合、「math.sqrt(2)」のように記述すると、エラーになります。


ユーザ自作のモジュール[編集]

モジュールは、ユーザが自分で作る事もできます。

モジュールにしたいファイルには、関数や変数などデータだけを書いておきます。(※ 関数の書き方については『Python/関数』を参照してください。)

たとえば、moz.py というファイル名にしたとしましょう。


moz.py
def kansu():
    print("a")


モジュールの呼び出しは、下記コードのようになります。


別ファイル

import moz

moz.kansu()


実行結果
a


なお、モジュール側のファイルに、関数外の場所に命令を書くと、そのモジュールのファイルが呼び出れれたときに、その関数外命令が実行される。

moz.py
def kansu():
    print("a")
    
print("Hello")


別ファイル

import moz

moz.kansu()


実行結果
Hello
a


なお、自作モジュールをインポートすると、拡張子 .pyc のファイルが作成されます。

たとえば、自作モジュール moz.py をインポートすると、「 moz.cpython-38.pyc 」のようなファイルが作成されます。

__pycache__ フォルダの中に、作成されます。

このpycファイルは、次回からのインポートを早くするたのファイルです。