Pythonでも他のプログラミング言語と同様に「関数」を作成することができます。
関数の定義
「関数」はコンピュータープログラミングでは、「サブルーチン」の一種で数学の関数と同じようにある値を与えて何らかの計算や処理を行い、その結果を呼び出し元に返すもののことを言います。
※サブルーチンは、作業をひとつの手続きとしたものでプログラムでは繰り返し利用されるルーチンのことを指します。
Pythonにおける関数は、下記のように def を使って記述します。
関数内の処理は、インデントして記述します。
def 関数名(引数名1, 引数名2, ...): 処理1 処理2 ...
関数の戻り値は、return 文で指定します。
def AlwaysOne() return 1
return 文以降の処理は実行されません。
def SampleFunction() return 1 + 1 # 関数の処理において # ここから下の処理は実行されません return 1 + 2 以降の処理 ...
ローカル変数とグローバル変数
Pythonの変数は、「ローカル変数」と「グローバル変数」の2種類があります。
ローカル変数は、関数の中で代入した変数のことで、代入した関数内でのみ有効です。
def TestFunction() a = 10 # <-- これはローカル変数です s = "ローカル?" # <-- これもローカル変数です print(a) # <-- TestFunction()内なので値を見ることができます print(s) # <-- TestFunction()内なので値を見ることができます TestFunction() print(a) # <-- ここではローカル変数aの値は見ることはできません print(s) # <-- ここではローカル変数sの値は見ることはできません
ローカル変数の値を関数の外で見るには、「関数の戻り値でその値を返す」か「グローバル変数に値をセットする」ことで見ることができます。
グローバル変数は、ローカル変数以外の変数で、関数外部で代入された変数のことを指します
a = 0 # <-- 関数の外で値を代入していますので、この変数はグローバル変数になります s = "" # <-- 関数の外で値を代入していますので、この変数はグローバル変数になります def TestFunction() a = 10 # <-- グローバル変数の値が更新されます s = "ローカル?" # <-- これもグローバル変数の値が更新されます TestFunction() print(a) # <-- グローバル変数なので値を見ることができます print(s) # <-- グローバル変数なので値を見ることができます