Python

Pythonで学ぶ 高階関数

関数を引数・戻り値で扱える高階関数を学ぶ。

引数に関数を持つ高階関数

# 引数に関数 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