閉包函數(shù):
成都創(chuàng)新互聯(lián)公司技術(shù)團(tuán)隊(duì)十載來(lái)致力于為客戶(hù)提供網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都品牌網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過(guò)多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上1000家網(wǎng)站,包括各類(lèi)中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。閉:指的是定義在函數(shù)內(nèi)部的函數(shù)
比如手機(jī)是閉包函數(shù)(內(nèi)層函數(shù)),被手機(jī)包裝盒 (外層函數(shù)) 包裹起來(lái),
手機(jī)可以使用包裝盒中的東西,內(nèi)層函數(shù)可以引用外層函數(shù)的名字。
閉包函數(shù):定義在函數(shù)內(nèi)部的函數(shù),并且該函數(shù)包含對(duì)外部函數(shù)作用域中名字的引用,該函數(shù)就稱(chēng)為閉包函數(shù)。
注意:該函數(shù)的作用域在定義階段就定義死了,與調(diào)用位置無(wú)關(guān)
閉包函數(shù)是 函數(shù)嵌套、函數(shù)對(duì)象、名稱(chēng)空間與作用域 結(jié)合體。
基本形式:
def outer():
name ='egon'
def inner():
print('my name is %s' %name)
return inner
# print(outer())
f=outer()
f()
閉包的小應(yīng)用:
#爬蟲(chóng):模擬訪問(wèn)百度
import requests
def get(url):
response = requests.get(url)
if response.status_code == 200:
print(response.text)
get('https://www.baidu.com/')
get('https://www.baidu.com/')
get('https://www.baidu.com/') #問(wèn)題:每次訪問(wèn)百度,都要調(diào)用一次,填一次地址
# 解決辦法:用閉包函數(shù)
def outter():
url = 'https://www.baidu.com/' #問(wèn)題:把地址定死了,
def get():鄭州婦科醫(yī)院 http://www.zyfuke.com/
response = requests.get(url)
if response.status_code == 200:
print(response.text)
return get
baidu = outter() #baidu --->get
baidu()
# 改進(jìn):
def outter(url):
def get():
response = requests.get(url)
if response.status_code == 200:
print(response.text)
return get
baidu = outter('https://www.baidu.com/') #baidu --->get
taobao = outter('https://www.taobao.com/') #taobao --->get
baidu() #專(zhuān)門(mén)調(diào)百度
taobao() #專(zhuān)門(mén)調(diào)淘寶
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。