Pythonの関数の基礎 – 【Pythonではじめるプログラミング】

Pythonの関数の基礎 Python

Pythonの関数について、演習用プログラムのソースコードを使い、それを実行しながら解説します。さらに関数を自作してモジュールにします。そしてモジュールをインポートして関数を使うまでを演習します。

1.演習用プログラムのダウンロード

演習用プログラム( practice05.py と parts.py )をダウンロードします。
ダウンロードファイルは テキストファイルになっているので、エクスプローラーを使って拡張子を .txt から .py に変更します。
practice05.py と parts.py を Python をインストールしたフォルダ(今回は C:\Python)に置きます。



2.ソースコードの表示

メモ帳を使って、演習用プログラム( practice05.py と parts.py )を開きます。

practice05.py

practice05.py


parts.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 の関数の構文です。

def 関数名(引数):
インデント 決められた処理
インデント return 戻り値

お茶の自動販売機に例えると

自動販売機
def 自動販売機(投入するお金):
インデント お茶を取り出し口に出す
インデント 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 が表示されています。

③ モジュールとは

関数などを含む Python のプログラムファイル( .py )
拡張子を除いたファイル名がそのままモジュール名になる

プログラムファイルが 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.pypartsモジュールを取り込んでいます。
30行目で partsモジュール内の 関数 tasu() を呼び出しています。
引数は 10 なので、1 から 10 まで足した結果 55 変数a に代入されます。

partsモジュール( parts.py )は、他の Python の動作環境にコピーして使うことができるので、関数(部品)を共有することができます。
 

<Pythonの繰り返し文の基礎 Pythonの関数の基礎
タイトルとURLをコピーしました