python閉包是什么

本篇文章給大家分享的是有關(guān)python閉包是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括鹽城網(wǎng)站建設(shè)、鹽城網(wǎng)站制作、鹽城網(wǎng)頁(yè)制作以及鹽城網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,鹽城網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到鹽城省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

“閉包”這個(gè)詞語(yǔ)相信大多數(shù)學(xué)過編程的同學(xué)并不陌生,但是有時(shí)候理解起來(lái)還是有一定難度。

先看定義:閉包是由函數(shù)和與其相關(guān)的引用環(huán)境組合而成的實(shí)體。比如參考資源中就有這樣的的定義:在實(shí)現(xiàn)深約束時(shí),需要?jiǎng)?chuàng)建一個(gè)能顯式表示引用環(huán)境的東西,并將它與相關(guān)的子程序捆綁在一起,這樣捆綁起來(lái)的整體被稱為閉包。

python閉包(closure)其實(shí)并不是什么很復(fù)雜的東西。

通俗的講就是:如果在一個(gè)內(nèi)部函數(shù)里,對(duì)在外部作用域(但不是在全局作用域)的變量進(jìn)行引用,那么內(nèi)部函數(shù)就被認(rèn)為是閉包(closure)。它只不過是個(gè)“內(nèi)層”的函數(shù),由一個(gè)名字(變量)來(lái)指代,而這個(gè)名字(變量)對(duì)于“外層”包含它的函數(shù)而言,是本地變量。

看到這里或許你依然不明白什么是閉包,沒關(guān)系,看完下面的小例子你一定會(huì)明白!

#! /usr/bin/env python
# coding=utf-8
# http://www.pythontab.com
#定義一個(gè)函數(shù)
def plus(number):
#在函數(shù)內(nèi)部再定義一個(gè)函數(shù),其實(shí)這個(gè)里面的函數(shù)就被認(rèn)為是閉包
   def plus_in(number_in):
#這里打印一下number_in變量,以便大家可以更清楚傳進(jìn)來(lái)的變量時(shí)哪一個(gè)
       print str(number_in) + "\r\n"
       return number+number_in
#其實(shí)這里返回的就是閉包的結(jié)果
   return plus_in

#給plus函數(shù)賦值,這個(gè)20就是給參數(shù)number
v1=plus(20)
print v1(100) #注意這里的100其實(shí)給參數(shù)number_in

運(yùn)行結(jié)果

100

120

注意:100是print str(number_in) + "\r\n"打印的結(jié)果哦,講到這里大家明白什么是閉包了吧~~

以上就是python閉包是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)名稱:python閉包是什么
鏈接URL:http://bm7419.com/article0/jcigoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、軟件開發(fā)動(dòng)態(tài)網(wǎng)站、微信小程序建站公司、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管