這篇文章給大家介紹怎么在Python中使用嵌套函數(shù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

內(nèi)嵌函數(shù)(嵌套函數(shù)):
意思:在函數(shù)里面再定義一個新的函數(shù)
如果在函數(shù)體內(nèi)不調(diào)用內(nèi)嵌的函數(shù),那么無法在外部調(diào)用
def my_pr1():
print("第一層打印")
def my_pr2():
print("第二層打印")
my_pr2()#如果在函數(shù)體內(nèi)不調(diào)用內(nèi)嵌的函數(shù),那么無法在外部調(diào)用
my_pr1()作用域: local(局部作用域) -->enclosing(函數(shù)范圍作用域)-->global(全局作用域)--->build-in(內(nèi)建對象作用域)
代碼塊級別的作用域: Python沒有劃分代碼塊作用域
代碼塊里的變量,外部可以調(diào)用
if 1>0: name="automan" print(name)
上述代碼運行結(jié)果:
automan
函數(shù)基本的作用域:
局部作用域:
函數(shù)內(nèi)部定義的變量是局部變量,外部無法訪問
a=50
def change(x):
x=6
change(a)
print("after change:",a)上述代碼運行結(jié)果:
after change: 50
def func3(): superman="automan" print(superman)
運行結(jié)果:
NameError: name 'superman' is not defined
內(nèi)嵌關(guān)系的函數(shù)的作用域:
對于內(nèi)嵌關(guān)系的函數(shù)的作用域依然遵循local(局部作用域) -->enclosing(函數(shù)范圍作用域)-->global(全局作用域)--->build-in(內(nèi)建對象作用域)
如果自身函數(shù)有目標(biāo)變量,則使用自身函數(shù)內(nèi)的變量的值;
如果沒有,會向上找父函數(shù)中是否存在目標(biāo)變量,如果有,則使用父函數(shù)中的該變量的值;【如果父函數(shù)還有父函數(shù),也會一直向上查找】
直到離開最外層的函數(shù)體,那么會在全局范圍內(nèi)找該變量
如果再沒有,會到內(nèi)建對象作用域找
都沒有就報錯,拋出異常
def func4(): superman="automan" def haha(): print(superman) haha() func4()
運行結(jié)果:
automan
非內(nèi)嵌關(guān)系的函數(shù)的作用域:
非內(nèi)嵌關(guān)系的函數(shù)作用域依然遵循local(局部作用域) -->enclosing(函數(shù)范圍作用域)-->global(全局作用域)--->build-in(內(nèi)建對象作用域)
但由于不是父子關(guān)系的嵌套函數(shù),當(dāng)自身函數(shù)范圍區(qū)域內(nèi)找不到時,會直接到全局作用域找
aotuman='金甲戰(zhàn)士' def f5(): print(aotuman) def f4(): aotuman='max' f5() f4()
運行結(jié)果:
偏函數(shù):金甲戰(zhàn)士
默認(rèn)填寫某個函數(shù)的某些參數(shù),返回一個新的函數(shù)
避免了參數(shù)的重復(fù)輸入
import functools print_t=functools.partial(print,end='\t') print_t(1) print_t(1) print_t(1)
上述代碼結(jié)果:
python可以做什么1 1 1
Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。
關(guān)于怎么在Python中使用嵌套函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)頁題目:怎么在Python中使用嵌套函數(shù)-創(chuàng)新互聯(lián)
鏈接地址:http://chinadenli.net/article12/hhggc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站排名、域名注冊、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容