Pythonの関数について、演習用プログラムのソースコードを使い、それを実行しながら解説します。さらに関数を自作してモジュールにします。そしてモジュールをインポートして関数を使うまでを演習します。
1.演習用プログラムのダウンロード
演習用プログラム( practice05.py と parts.py )をダウンロードします。
ダウンロードファイルは テキストファイルになっているので、エクスプローラーを使って拡張子を .txt から .py に変更します。
practice05.py と parts.py を Python をインストールしたフォルダ(今回は C:\Python)に置きます。
2.ソースコードの表示
メモ帳を使って、演習用プログラム( practice05.py と parts.py )を開きます。

practice05.py

parts.py
3.Python の関数について
まず、コマンドプロンプト で practice05.py を実行します。
プログラムを実行する方法は、こちらの記事『ファイルに保存されたプログラムの実行』を参照します。
以下のように表示されます。
C:\Users\kotablog>python "C:\Python\practice05.py" 6
プログラムソースを確認します。
01 # -*- coding: utf-8 -*-
02 """
03 演習プログラム5
04
05 関数の基礎
06
07 """
08 import sys # モジュールのインポート
09
10 x = 3
11 y = x * (x + 1) / 2
12 print(int(y))
13
14 #終了1
15 sys.exit()
10行目で 変数x に 3 を代入しています。
11行目が 繰り返し文の演習でおこなった「 1 から x までを足す 」式です。
(変数x の値が 3 なので、1 から 3 までを足します)
12行目で 1 から 3 までを足した結果 6 をコマンドプロンプトに表示しています。
① Python の関数とは
Python の関数の構文です。
インデント 決められた処理
インデント return 戻り値
お茶の自動販売機に例えると

インデント お茶を取り出し口に出す
インデント return お茶
② 関数の作成と呼び出し
11行目の y = x * (x + 1) / 2 を決められた処理として関数にします。
関数名は tasu 、引数は x にします。
def tasu(x):
インデント y = x * (x + 1) / 2
インデント return int(y)
となります。
関数を使う(呼び出す)には、
a = tasu(引数)
引数には 1 からいくつまでを足すのかを記入します。6 まで足すのであれば、引数は 6 なので関数の呼び出しは a = tasu( 6 ) となります。
プログラムソースを確認します。
17 # 関数を作成
18 def tasu(x):
19 y = x * (x + 1) / 2
20 return int(y)
21
22 a = tasu(6)
23 print(a)
18~20行目が 関数の記述になります。
22行目で 関数 tasu() を呼び出しています。関数で処理した結果(戻り値)を 変数a に代入します。
動作を確認します。ソースコード #終了1 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
Ctrl キーを押しながら、 S キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3 キーを押して、 Enter キーを押下します。
以下のように表示されます。
C:\Users\kotablog>python "C:\Python\practice05.py" 6 21
1 から 6 までを足した結果 21 が表示されています。
③ モジュールとは
拡張子を除いたファイル名がそのままモジュール名になる
プログラムファイルが parts.py の場合、partsがモジュール名です。
④ モジュールの作成と呼び出し
関数 tasu() を含むモジュールを作成します。モジュール名は parts にします。
メモ帳を使って、 parts.py を開きます。
01 # -*- coding: utf-8 -*-
02 """
03 演習用 共通部品
04
05 """
関数 tasu() のソースコードをコピー&ペーストします。
def tasu(x):
y = x * (x + 1) / 2
return int(y)
01 # -*- coding: utf-8 -*-
02 """
03 演習用 共通部品
04
05 """
06 def tasu(x):
07 y = x * (x + 1) / 2
08 return int(y)
Ctrl キーを押しながら、 S キーを押して、parts.py を上書き保存します。
これで、関数 tasu() を含む、partsモジュールの完成です。
partsモジュール内の関数を呼び出すためには、import 文 を使ってモジュールを取り込む必要があります。
import parts
これで、partsモジュール内の関数を呼び出すことができます。呼び出す方法は、partsモジュール名.関数名()
です。
parts.tasu()
動作を確認します。ソースコード #終了2 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
Ctrl キーを押しながら、 S キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3 キーを押して、 Enter キーを押下します。
以下のように表示されます。
C:\Users\kotablog>python "C:\Python\practice05.py" 6 21 55
プログラムソース( practice05.py )を確認します。
28 import parts # partsモジュールのインポート
29
30 a = parts.tasu(10)
31 print(a)
28行目の import 文 で、parts.py の partsモジュールを取り込んでいます。
30行目で partsモジュール内の 関数 tasu() を呼び出しています。
引数は 10 なので、1 から 10 まで足した結果 55 が 変数a に代入されます。
partsモジュール( parts.py )は、他の Python の動作環境にコピーして使うことができるので、関数(部品)を共有することができます。
<Pythonの繰り返し文の基礎 | Pythonの関数の基礎 |