戻り値return
def validate(hand):
if hand < 0 or hand > 2:
return False
else:
return True
valid = validate(1)
print(valid)
True
と記述することで、関数validate
は引数1
を受け取ると、処理の結果はTrueとなり、呼び出し元に返します。
このTrue
にあたるのが**戻り値
**です。(Falseも戻り値です。)
記述としては「return 戻り値
」と書くことで呼び出し元に返すことができます。
そして戻り値があると、関数の呼び出し部分がそのまま値に置きかわります。
例だと、呼び出し元validate(1)
が戻り値True
に置きかわります。
それにより、関数の呼び出し部分を変数に代入することができるので、出力結果はTrue
が表示されます。
戻り値を条件式で使うことができます
戻り値がある関数をif文の条件式に書くことで、戻り値の結果に応じて条件分岐をすることができます。
def validate(hand):
if hand < 0 or hand > 2:
return False
else:
return True
if validate(num):
戻り値がTrueの場合の処理
else:
戻り値がFalseの場合の処理
と記述することで、まずif文の条件式で関数validate
を呼び出し、関数が実行されます。
そして、戻り値が返されるとその戻り値の結果に応じて条件分岐されます。
この時、条件式でTrueやFalse同士を比較する場合は、「== True」や「== False」を省略することができます。
if validate(num) == True:
⬇
if validate(num): # == Trueを省略できます
また、returnは戻り値を呼び出し元に返すだけでなく、関数内の処理を終了させる性質を持っています。
よって、return以降の関数の処理が実行されることはありません。
def num(x, y):
return x + y
print('合計値です')
sum = num(1, 3)
print(sum)
4
[ ]← 合計値です は出力されません
上記のように、return
を記述するとそれ以降の処理(今回ではprint('合計値です')
)が実行されません。