関数を引数・戻り値で扱える高階関数を学ぶ。
引数に関数を持つ高階関数
# 引数に関数 f() を持つ
def exe(f):
f()
def msg():
print("Hello, World!")
exe(msg)
戻り値に関数を持つ高階関数
# 戻り値に関数 msg(message) を持つ
def say(name):
def msg(message):
print(name + " > " + message)
return msg
say("A")("Hello")
引数と戻り値に関数を持つ高階関数
# 引数に関数f()を持ち、戻り値に関数を持つ
def create_line(f):
def msg(name, message):
return f(name) + message
return msg
def name_postfix(name):
return name + " >> "
print(create_line(name_postfix)("A", "Hello")) # A >> Hello