Python | ユーザー定義関数の使い方
公開日:2021/5/24
Pythonの関数には組み込み関数とユーザー定義関数がある.組み込み関数はPythonの公式の「組み込み関数」を参照すると有用である.以下ではユーザー定義関数について「関数作成の基本」,「引数を利用した関数作成」,「可変長引数を利用した関数作成」の構成で説明をする.
◆実施環境
Python 3.8.8
■関数作成の基本
関数を作成する際,defで宣言をし,後ろに作成する関数名と"():"を加え,次行インデントした上で,関数での処理をする.
def 関数名():
関数での処理
以下では1行目に"greeting"という名の関数を作成し,2行目でprint関数の処理を実行した.4行目で作成したgreeting関数を利用した.
def greeting(): # 関数の定義
print('Hello World') # 関数の処理
greeting() # 定義した関数の実行
■実行結果
Hello World
■引数を利用した関数作成
関数名の後ろの丸かっこ"()"には引数を入れることができる.引数とは変数を意味する.引数にはデフォルト値を入れることもできる.以下にデフォルト値がない構文(#1の処理)とデフォルト値がある構文(#2の処理)を作成する.
#1の処理では"subtraction"という名の関数(引き算)を作成し,引数x, yを設定した.
#2の処理では,引数"y"のデフォルト値を2にした.関数"subtraction"に値を1つしか入れていないので,yは2と見なされ,関数処理が実行された.
# 1の処理
def subtraction(x,y): # 引数を利用した関数の定義
return x - y # 関数の処理("x-y"の計算)
z = subtraction(10,4) # 定義した関数の実行
print(z)
# 2の処理(引数にデフォルト値を利用)
def subtraction(x,y=2): # 引数を利用した関数の定義.yには2がデフォルト入力
return x - y # 関数の処理("x-y"の計算)
z = subtraction(10) # 定義した関数の実行
print(z) # 関数の処理("10-2"の計算)
■実行結果
# 1の結果
6 # 10から6を引いた結果
# 2の結果
8 # 10から2(デフォルト値)を引いた結果
■可変長引数を利用した関数作成
引数を入力する際,引数の前に"*"もしくは"**"を付けることができる."*"と付けた引数は"タプル"の役目をし,"**"と付けた引数は"辞書"の役目をする.
# 1の処理(可変長引数に"*"を利用=>タプルの役割)
def test1(arg1, *arg2):
print(arg1) # arg1の値を出力
print(arg2) # arg2の値を出力
print(type(arg1)) # arg1の型を出力
print(type(arg2)) # arg2の型を出力
test1(1,2,3,4,5) # 関数の処理
# 2の処理(可変長引数に"**"を利用=>辞書の役割)
def test2(arg3, **arg4):
print(arg3) # arg3の値を出力
print(arg4) # arg4の値を出力
print(type(arg3)) # arg3の型を出力
print(type(arg4)) # arg4の型を出力
test2(1,name='Taro', gender='man') # 関数の処理
■実行結果
#1の処理の結果:"*arg2″にはタプルとして2以降の値が格納
#2の処理の結果:"**arg4″には辞書として"name"以降のキーと値が格納
# 1の結果
1
(2, 3, 4, 5)
<class 'int'>
<class 'tuple'>
# 2の結果
1
{'name': 'Taro', 'gender': 'man'}
<class 'int'>
<class 'dict'>
以上