中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一個簡單實例,理解python閉包

發布時間:2020-08-10 14:52:10 來源:ITPUB博客 閱讀:183 作者:云小蟲2019 欄目:編程語言

問題 : 模擬一個存錢罐

有兩個小朋友,小明,小唐。 年初,三位小朋友的媽媽給他們一定壓歲錢。小明有100壓歲錢,小唐有50。然后,每月他們不定期的將自己零花錢的一部分存起來。

代碼:Python閉包

##構造閉包
def factory_save(base_money):
    def save(add_money=0):
        nonlocal base_money
        sum_money = base_money + add_money
        base_money = sum_money
        return sum_money
    return save
##實例化(壓歲錢不同以區別)
xiaoming_save = factory_save(100)
xiaotang_save = factory_save(50)
#小明存錢
##存錢
xiaoming_save(20)
##顯示當前存款
print(xiaoming_save())
#小唐存錢
##存錢
xiaotang_save(5)
##顯示當前存款
print(xiaotang_save())

說明 :閉包=工廠+機器模板(函數+環境變量)

閉包,就是一個函數,引用了函數外定義的變量,可以叫著自由變量或者環境變量。這里就是函數save,引用了外面定義的base_money變量。所以閉包,可以簡單理解為一個函數+環境變量的封裝。

外面的函數factory_save,就像一個生產存錢罐的工廠,能生產一個個模板(save),同時,在生產這個模板時,能夠加入一些環境變量,如果顏色,材質等。這里簡單用的用壓歲錢的金額不同表示。

生產成的模板實例化后,就是一個個存錢罐,可以是小明的存錢罐,小唐的存錢罐。

這里需要注意是的,當環境變量帶入模板函數后,這個變量的作用域就在這個函數,并且能夠在內存中長存,也就起到了累加的作用。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万荣县| 河东区| 新巴尔虎右旗| 密云县| 介休市| 常宁市| 黄梅县| 同心县| 柏乡县| 华池县| 德庆县| 奉新县| 德钦县| 西华县| 扎囊县| 桐庐县| 台山市| 察雅县| 论坛| 宜兰市| 柘荣县| 台南市| 颍上县| 邵阳市| 曲麻莱县| 天长市| 墨脱县| 阿合奇县| 镇平县| 沙坪坝区| 克山县| 延边| 册亨县| 庐江县| 准格尔旗| 阿城市| 阿尔山市| 景宁| 平南县| 兴化市| 德昌县|