iT邦幫忙

2024 iThome 鐵人賽

DAY 0
0
自我挑戰組

Python應用系列 第 14

python 應用 day14

  • 分享至 

  • xImage
  •  

內部函數與閉包 (Closures)
內部函數是定義在函數內的函數,閉包則是內部函數能夠捕捉其外部作用域的變量,並在其外部作用域結束後保持對這些變量的訪問。這種技術常用於創建工廠函數,或是保存狀態。
https://ithelp.ithome.com.tw/upload/images/20240929/20169340BMkfI0L7o1.png
閉包的特性在函數式編程中常被用來生成封裝行為的函數,避免在代碼中不必要的全局狀態

閉包 (Closures)
閉包是一種特殊的內部函數,它記住了它所處的作用域(即便外部函數已經執行完畢並退出)。閉包的核心概念是,當內部函數引用了外部函數的變數,並且外部函數執行後,那些變數仍然可以在內部函數中使用。
https://ithelp.ithome.com.tw/upload/images/20240929/20169340E3i3m2q0KQ.png

在這裡,inner_function 成為了閉包,因為它「捕捉」了外部函數 outer_function 中的變數 text,即使外部函數已經結束。

閉包的用途
保持狀態:閉包可以記住某些狀態,不需要使用全局變數或物件。
資料封裝:閉包可以實現資料的封裝,將變數隱藏在函數內部,只允許通過閉包來訪問。
函數工廠:閉包可以用來創建不同配置的函數。


上一篇
python 應用 day13
下一篇
python 應用 day15
系列文
Python應用31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言