這樣寫你看下:這是這種寫法無法將x傳到b里面去
10年積累的網(wǎng)站建設(shè)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有浪卡子免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
def b(y):
return x+y
def a(x):
return b
其實(shí)你調(diào)用a--打印的是a的內(nèi)存地址,a(x)就是調(diào)用的a方法,返回的是b相當(dāng)于你直接打印b的內(nèi)存地址一樣,
所以
a--函數(shù)a的內(nèi)存地址
a(x) --調(diào)用a方法,返回b函數(shù)對象相當(dāng)于--b
a(x)(y)--b(y)調(diào)用b方法返回x和y的值,這里x取的是a方法的參數(shù)值,y是b方法的參數(shù)值,這點(diǎn)可以理解下參數(shù)的作用域
第一處函數(shù)fu2無參數(shù),如果不帶括號(hào)返回的是這個(gè)函數(shù)的屬性,需要帶括號(hào)才會(huì)返回參數(shù)
第二處下面用法是a=f1(5)(8),根據(jù)函數(shù)定義已經(jīng)給函數(shù)f2()傳導(dǎo)參數(shù),所以return時(shí)不需要再用()傳導(dǎo)參數(shù)
你這里要是加了括號(hào),那么返回的就是fucy函數(shù)的返回值。那么他的返回值是多少呢?函數(shù)沒傳,那肯定就會(huì)TypeError,說沒有參數(shù);那你加參數(shù)的話,那閉包還有撒用?
我覺得,加沒加,就是是不是對象的區(qū)別