第11章 ライブラリとモジュール
11.2 モジュール(ライブラリ)から関数を読み込んでみよう
では実際に、モジュールまたはライブラリから関数を読むにはどうすればよいのでしょうか?
11.2.1 モジュールの基本的な使い方
読む込む際の構文は下記の通りになります。
書式
まずimportを使ってモジュール(またはライブラリ)を読み込みます。読む込みの際、「as 略称名」と記載することで任意の略称名を指定するのが一般的です。
次に読み込んだモジュール(またはライブラリ)の略称名を使って、「略称名、.(ピリオド)、関数名」で関数が取得できます。
凡例
実行結果
この凡例ではimportを介してmathモジュールを読み込み、略称をmhと指定しています。mathモジュールのfloor関数を取得し、floor関数の引数には4.31を指定しています。
floor関数は、引数の値の小数点を切り下げた整数値を戻り値として返します。つまりはmh.floor(4.31)では、小数点以下の0.31を切り下げた値の、4が戻り値として返されます。
変数numにこの値が代入され、print関数で出力されるため、出力結果は4になります。
図 11.2.1.1 : モジュールの読み込みの凡例のイメージ図
11.2.2 モジュールの関数
モジュールを介した関数の使用方法について説明したところで、どのようなモジュールがあり、どのような関数が含まれているのかを、簡単に紹介します。
1. mathモジュール
mathモジュールは計算を行う際に便利なモジュールです。主に以下のような関数が含まれています。
凡例
実行結果
2. randomモジュールの使い方
ramdomモジュールは計算を行う際、ランダムな値を取得するのに使用するモジュールです。主に以下のような関数が含まれています。
凡例
実行結果
※乱数ですので上記のような実力結果になるとは限りません。
11.2.3 mathモジュールを使ったBMIを求めるプログラム
キーボードからの入力値に応じて、if-elif-else文の各ブロック内の処理を確認します。
ソース・フォルダ:/Desktop/Python入門テキスト
ファイル名 :第11章.ipynb
アクセスURL :http://localhost:8888/notebooks/Desktop/Python入門テキスト/第11章.ipynb
➢ 第11章.ipynb/ 11.2.3 mathモジュールを使ったBMIを求めるプログラム
import math as mh weight = float(input(‘体重を入力してください。’)) height = float(input(‘身長を入力してください。’)) bmi = weight / (height * height) print( ‘結果:’ , mh.floor( bmi ))
実行結果
解説
2行目でmathモジュールをインポートし、略称名をmhに指定しています。
4,5行目で、input関数を指定しています。
input関数が実行されると、input関数の引数の値(当問題では「体重を入力してください。」と「身長を入力してください。」に該当)が出力され、キーボード入力を求められます。
入力した値は、それぞれの関数の戻り値として返され(※今回の例では’55’ (str型)と’1.72’ (str型)と入力しました)、その戻り値がfloat関数の引数になります。
input関数の戻り値はstr型であり数値計算には適さないため、引数で指定した値を、小数点を含むfloat型にデータ型を変換するfloat関数を使用します。
今回のケースでは55.0 (float型)が4行目のfloat関数、1.72(float型)が5行目のfloat関数の戻り値です。
また変数weight、heightにそれぞれfloat関数の戻り値を代入しているため、weightにはfloat型の55.0 (float型)、weightには1.72(float型)が格納されます。
図 11.2.3.1 :当問題の2~5行目のイメージ図
7行目では変数bmiを宣言し、「weight×(heightの2乗)」が格納されています。今回のケースではweightが55.0、heightが1.72であるため、bmiには、「55.0×(1.72の2乗)」つまりは「18.591130340724717」が格納されています。
8行目では、mathモジュールの略称mhを介して、mathモジュールのfloor関数が使用されています。floor関数は引数に指定した値から小数点を切り捨てた整数値を戻り値とする関数です。
「18.591130340724717」には格納されているため8行目のmh.floor(bmi)には、小数点以下の「0.591130340724717」が切り捨てられた「18」が格納され、出力結果は「結果:18」になります。
図 11.2.3.2 : floor関数のイメージ図
ポイント・モジュールまたはライブラリを読み込む際にはimportを使う
・読み込み時には「as 略称名」と書いて略称を指定するのが一般的である
・モジュール(ライブラリ)内の関数を取得するためには、「モジュール名(またはライブラリ名).関数名」を記載する