自分で作った関数を定義して使うこともできます
基本構文は
def 関数名(引数):
処理
引数に使う変数は無くても問題なし
関数名には英大小文字とアンダースコアが使えます
それでは作ってみましょう
引数指定した数値までの
フィボナッチ数を出力する関数を作ります
引数を変えることで結果を変えることができます
ただしこれでは必ずprintされてしまうので
使い勝手が悪いです
結果を変数にするためには return を使って
戻り値を返すようにします
これで関数の結果がリストになって返ってきます
通常は処理をまとめるために使うものなので
戻り値を返すようにするのが良いでしょう
ラムダ式
pythonのコードの中で
関数名をつけずに変数として関数を記述できます
書き方は
変数名 = lambda 変数名 : 返り値
少しややこしいですが
これで処理を簡潔に書くこともできます
こうした場合、変数名として一度定義しているので
同じ処理として繰り返し使うことができます
基本構文は
def 関数名(引数):
処理
引数に使う変数は無くても問題なし
関数名には英大小文字とアンダースコアが使えます
それでは作ってみましょう
引数指定した数値までの
フィボナッチ数を出力する関数を作ります
def fib(n):
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
これを実行するには関数名(引数)としますfib(100)
0 1 1 2 3 5 8 13 21 34 55 89
引数を変えることで結果を変えることができます
ただしこれでは必ずprintされてしまうので
使い勝手が悪いです
結果を変数にするためには return を使って
戻り値を返すようにします
def fib_b(n):
a, b = 0, 1
result = []
while a < n:
result.append(a)
a, b = b, a+b
return result
print(fib_b(20))
[0, 1, 1, 2, 3, 5, 8, 13]
これで関数の結果がリストになって返ってきます
通常は処理をまとめるために使うものなので
戻り値を返すようにするのが良いでしょう
ラムダ式
pythonのコードの中で
関数名をつけずに変数として関数を記述できます
書き方は
変数名 = lambda 変数名 : 返り値
少しややこしいですが
これで処理を簡潔に書くこともできます
f = lambda a, b : a + b print(f(3,5))
8
こうした場合、変数名として一度定義しているので
同じ処理として繰り返し使うことができます

コメントする