最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的閉包

 更新時(shí)間:2021年11月01日 16:35:10   作者:一碗周  
這篇文章主要介紹了Python中的閉包,閉包在函數(shù)中提出的概念,簡單來說就是一個(gè)函數(shù)定義中引用了函數(shù)外定義的變量,并且該函數(shù)可以在其定義環(huán)境外被執(zhí)行。這樣的一個(gè)函數(shù)我們稱之為閉包,下面我們一起來看看文章內(nèi)容的具體介紹

1、閉包概念

閉包在函數(shù)中提出的概念,簡單來說就是一個(gè)函數(shù)定義中引用了函數(shù)外定義的變量,并且該函數(shù)可以在其定義環(huán)境外被執(zhí)行。這樣的一個(gè)函數(shù)我們稱之為閉包。實(shí)際上閉包可以看做一種更加廣義的函數(shù)概念。因?yàn)槠湟呀?jīng)不再是傳統(tǒng)意義上定義的函數(shù)。

閉包這個(gè)概念不僅僅只有在Python中存在,在任何一個(gè)編程語言中都幾乎存在。

2、閉包條件

閉包的條件:

  • 外部函數(shù)中定義了內(nèi)部函數(shù)
  • 外部函數(shù)是有返回值
  • 返回值是:內(nèi)部函數(shù)
  • 內(nèi)部函數(shù)還引用了外部函數(shù)的變量

格式如下所示:

def 外部函數(shù)():
    ...
    def 內(nèi)部函數(shù)():
        ...
    return 內(nèi)部函數(shù)

示例代碼:

def func():
    a = 100

    def inner_func():
        b = 200
        print(a, b)

    return inner_func


x = func()
print(x)  # <function func.<locals>.inner_func at 0x0000021704CD9620>
x()  # 100 200
# 這樣就可以直接調(diào)用inner_func函數(shù),如果return不返回一個(gè)內(nèi)部函數(shù)的話是不會(huì)有任何輸出的

3、閉包完成計(jì)數(shù)效果

使用閉包還可以完成計(jì)數(shù)器的效果

def generate_count():
    container = [0]

    def add_one():
        container[0] += 1
        print(f"這是第{container[0]}次調(diào)用")

    return add_one


count = generate_count()
count()  # 這是第1次調(diào)用
count()  # 這是第2次調(diào)用
count()  # 這是第3次調(diào)用

4、閉包的缺點(diǎn)及作用

閉包的缺點(diǎn)如下所示:

  • 作用域沒有那么直觀
  • 因?yàn)樽兞坎粫?huì)被垃圾回收所以有一定的內(nèi)存占用問題。

閉包的作用如下所示:

  • 可以使用同級(jí)的作用域
  • 讀取其他元素的內(nèi)部變量
  • 延長作用域

到此這篇關(guān)于Python中的閉包的文章就介紹到這了,更多相關(guān)Python閉包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python排序算法之堆排序算法

    Python排序算法之堆排序算法

    堆排序看字面意思是一種排序方法,那堆是什么呢?堆是一個(gè)近似完全二叉樹的結(jié)構(gòu),并同時(shí)滿足堆積的性質(zhì)。其實(shí)堆排序是指利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計(jì)的一種排序算法。
    2023-01-01
  • Python中常用的os操作匯總

    Python中常用的os操作匯總

    這篇文章主要匯總了Python中常用的os操作,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • Python爬蟲獲取AliExpress商品詳情的詳細(xì)步驟

    Python爬蟲獲取AliExpress商品詳情的詳細(xì)步驟

    速賣通(AliExpress)是全球知名的在線零售平臺(tái),隸屬于阿里巴巴集團(tuán),下面給大家介紹如何使用Python進(jìn)行這一操作的詳細(xì)步驟,感謝的朋友一起看看吧
    2024-12-12
  • Python requests的SSL證書驗(yàn)證方式

    Python requests的SSL證書驗(yàn)證方式

    這篇文章主要介紹了Python-requests的SSL證書驗(yàn)證方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • python正則表達(dá)式面試題解答

    python正則表達(dá)式面試題解答

    這篇文章主要為大家分析了python正則表達(dá)式常見面試題,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 使用Matplotlib創(chuàng)建漂亮的數(shù)據(jù)可視化圖表

    使用Matplotlib創(chuàng)建漂亮的數(shù)據(jù)可視化圖表

    在 Python 中,Matplotlib 是一個(gè)強(qiáng)大而靈活的工具,可以用來創(chuàng)建各種類型的數(shù)據(jù)可視化圖表,本文給大家介紹了如何使用Matplotlib創(chuàng)建漂亮的數(shù)據(jù)可視化圖表,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-04-04
  • Python中selenium_webdriver下拉框操作指南

    Python中selenium_webdriver下拉框操作指南

    selenium 雖然過了這么多年,但是到目前為止依然是比較流行的自動(dòng)化框架了,下面這篇文章主要給大家介紹了關(guān)于Python中selenium_webdriver下拉框操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • python實(shí)現(xiàn)修改xml文件內(nèi)容

    python實(shí)現(xiàn)修改xml文件內(nèi)容

    這篇文章主要介紹了python實(shí)現(xiàn)修改xml文件內(nèi)容,XML 指可擴(kuò)展標(biāo)記語言,是一種標(biāo)記語言,是從標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)中簡化修改出來的
    2022-07-07
  • Python實(shí)現(xiàn)自動(dòng)批量修改文件名稱

    Python實(shí)現(xiàn)自動(dòng)批量修改文件名稱

    這篇文章主要為大家詳細(xì)介紹了如何基于Python語言,實(shí)現(xiàn)按照一定命名規(guī)則批量修改多個(gè)文件的文件名的效果,文中的示例代講解詳細(xì),感興趣的可以了解一下
    2023-01-01
  • Python引入多個(gè)模塊及包的概念過程解析

    Python引入多個(gè)模塊及包的概念過程解析

    這篇文章主要介紹了Python引入多個(gè)模塊及包的概念過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論

泌阳县| 神木县| 凤凰县| 哈巴河县| 嵩明县| 蕉岭县| 翼城县| 喀喇| 兴海县| 甘孜县| 潼南县| 巨鹿县| 宣恩县| 新竹县| 德安县| 澄江县| 岫岩| 武夷山市| 井陉县| 鄢陵县| 钟祥市| 汉中市| 天镇县| 涞水县| 江华| 历史| 弥渡县| 峨眉山市| 麻江县| 加查县| 自治县| 遂川县| 九江市| 大城县| 芦山县| 永丰县| 伊吾县| 墨玉县| 镇平县| 特克斯县| 景宁|