※この記事はUdemyの
「現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル」
の講座を受講した上での、自分用の授業ノートです。
講師の酒井潤さんから許可をいただいた上で公開しています。
##■クロージャー
難しい内容になるので、今の段階では「こんなものがあるんだな」とわかればOK。
closure
def circle_area_func(pi):
# radiusを渡すと円の面積が返ってくる
def circle_area(radius):
return pi * radius * radius
# circle_areaを返すだけで実行はしない
return circle_area
# piを3としてcircle_area_funcに渡し、返ってきたcircle_areaをcal1に代入
cal1 = circle_area_func(3)
# piを3.14としてcircle_area_funcに渡し、返ってきたcircle_areaをcal2に代入
cal2 = circle_area_func(3.14)
# radiusを10としてcal1に渡し、結果をprint
print(cal1(10))
# radiusを10としてcal2に渡し、結果をprint
print(cal2(10))
result
300
314.0
クロージャーは、今回のように
初めに設定した引数(pi
)を後々用途応じて使い分けたい(3とするのか3.14にするのか)とき
などに有効な手段なので、頭の片隅に置いておこう。