Pythonの関数のサンプルです。
| 確認環境 ・Python 3.7.0 |
目次
関数
| def 関数名(引数) 処理 return 式; |
- 関数は処理をまとめることができます。
- 引数は関数にデータを渡します。パラメータとも言います。
- 引数は必須ではありません。
- returnは、関数の呼び出し元に値を返します。返す値を返り値または戻り値といいます。
- returnは必須ではありません。
- 以下はPython 3.6.3 ドキュメントのユーザー定義関数のリンクです。
https://docs.python.jp/3/reference/compound_stmts.html?highlight=if#function-definitions
関数のサンプル
関数のサンプルです。
# coding: utf-8
def test1():
print("テスト")
test1() # テストと表示される
6行目のtest1()が、3行目の関数を呼んでいます。
引数、戻り値ともにありません。
関数のサンプル(引数があり)
引数がある関数のサンプルです。
# coding: utf-8
def test2(a,b):
return a + b
num = test2(2,3)
print (num) # 5を表示する
6行目のtest2(2,3)が、3行目の関数を引数付きで呼んでいます。
4行目で計算した値をreturnで呼び出し元に返しています。8行目は5が表示されます。
→3行目の引数(aとb)を仮引数、6行目の引数を実引数といいます。
デフォルト引数がある関数
デフォルト引数は、関数の引数にデフォルト値が設定されています。関数を呼ぶ側は、引数を省略できます。
関数のデフォルト値がある引数の箇所に、関数を呼ぶ側で引数を設定すると、関数を呼ぶ側で設定した引数が優先されます。
コード
デフォルト引数がある関数のサンプルです。
# coding: utf-8
def test3(a=1,b=2,c=3):
return a + b + c
num = test3()
print (num) # 6を表示する
3行目は、デフォルト引数を使用しています。
6行目は、引数を指定していませんがデフォルト引数の値で計算されてnumの値は6になります。
一部の引数にのみデフォルト引数を指定
デフォルト引数は、一部の引数にのみ指定することもできます。
右の引数から順に指定します。
左端の引数に1つのみ指定することはできません。
# coding: utf-8
def test4(a,b=2,c=3):
return a + b + c
num = test4(1)
print (num) # 6を表示する
3行目は、右からcとbのみデフォルト引数としています。
6行目の引数の1は3行目のaにあたります。
デフォルト値がある箇所に引数を指定した場合
デフォルト値がある箇所に引数を指定した場合、呼ぶ側の値が優先されます。
# coding: utf-8
def test5(a=1,b=2,c=3):
return a + b + c
num = test5(5,6)
print (num) # 14を表示する
6行目は、引数を2つ設定しています。
3行目は、3つの引数にデフォルト引数が設定されています。引数の値は、関数に設定した引数が優先されてaは5、bは6、cは3として計算されます。
関数の呼び出し時に引数名を指定する
関数の呼び出し時に引数名を指定することができます。
実引数が順番に並んでいなくても意図した仮引数に値を渡すことができます。
# coding: utf-8
def testcalc(a,b):
return a - b
num = testcalc(b=1,a=8)
print (num) # 7を表示する
6行目は、(b=1,a=8)というように引数名をイコール(=)を使用して指定しています。
関連の記事
Python if文のサンプル
Python for文とbreakとcontinueのサンプル
Python while文とdo…while文にあたる書き方のサンプル