新聞中心
“閉包”這個詞語相信大多數(shù)學(xué)過編程的同學(xué)并不陌生,但是有時候理解起來還是有一定難度。

成都創(chuàng)新互聯(lián)主要從事做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)青原,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
先看定義:閉包是由函數(shù)和與其相關(guān)的引用環(huán)境組合而成的實體。比如參考資源中就有這樣的的定義:在實現(xiàn)深約束時,需要創(chuàng)建一個能顯式表示引用環(huán)境的東西,并將它與相關(guān)的子程序捆綁在一起,這樣捆綁起來的整體被稱為閉包。
python閉包(closure)其實并不是什么很復(fù)雜的東西。
通俗的講就是:如果在一個內(nèi)部函數(shù)里,對在外部作用域(但不是在全局作用域)的變量進(jìn)行引用,那么內(nèi)部函數(shù)就被認(rèn)為是閉包(closure)。它只不過是個“內(nèi)層”的函數(shù),由一個名字(變量)來指代,而這個名字(變量)對于“外層”包含它的函數(shù)而言,是本地變量。
看到這里或許你依然不明白什么是閉包,沒關(guān)系,看完下面的小例子你一定會明白!
#! /usr/bin/env python # coding=utf-8 # http://www.pythontab.com #定義一個函數(shù) def plus(number): #在函數(shù)內(nèi)部再定義一個函數(shù),其實這個里面的函數(shù)就被認(rèn)為是閉包 def plus_in(number_in): #這里打印一下number_in變量,以便大家可以更清楚傳進(jìn)來的變量時哪一個 print str(number_in) + "\r\n" return number+number_in #其實這里返回的就是閉包的結(jié)果 return plus_in #給plus函數(shù)賦值,這個20就是給參數(shù)number v1=plus(20) print v1(100) #注意這里的100其實給參數(shù)number_in
運行結(jié)果
100 120
注意:100是print str(number_in) + "\r\n"打印的結(jié)果哦,講到這里大家明白什么是閉包了吧~~
文章題目:創(chuàng)新互聯(lián)Python教程:python閉包詳解(實例)
地址分享:http://fisionsoft.com.cn/article/djesgjd.html


咨詢
建站咨詢
