コスギデンサン >> 情報系メモ >> Python

Python : 関数について 2018/9

関数を関数の引数に渡せる
def sum(x, y, z):
    return x + y + z

def usefunc(arg_func, num1, num2, num3):
    print(arg_func(num1, num2, num3))

a = 1
b = 2
c = 3
usefunc(sum, a, b, c)

関数を関数の戻り値にできる
def area_formula(shape):
    if (shape == "circle"):
        return lambda radius: radius * radius * 3.14
    elif (shape == "square"):
        return lambda size: size * size

formula1 = area_formula("circle")
print(formula1(2))

formula2 = area_formula("square")
print(formula2(3))

ラムダ関数
func = lambda arg1, arg2, .. : expression
bmi = lambda weight, height: weight / height**2  // 変数として扱える。
  
print(bmi(75, 1.79))

関数は複数の値を返せる。
func1():
    return 1, 2, 3

x, y, z = func1()
print(x+y+z) // 6