第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

返回值帶參數(shù)或者不帶參數(shù)分別是什么意思?

#-*-coding:utf-8-*-

def my_sum(*args):
? ?return sum(args)

def my_average(*args):
? ?return sum(args)/len(args)



def dec(func):

? ?def in_dec(*args):
? ? ? ?if len(args)==0:
? ? ? ? ? ?return 0
? ? ? ?for val in args:
? ? ? ? ? ?if not isinstance(val,int):
? ? ? ? ? ? ? ?return 0
? ? ? ?return func(*args)

? ?return in_dec

my_new_sum = dec(my_sum)

print my_new_sum(1,2,3,4,5)

在in_dec 函數(shù)中,返回值是帶*args 的,而dec 函數(shù)的返回值是不帶參數(shù)的,在my_new_sum = dec(my_sum) 中,my_sum 后面也是不能帶括號(hào)的。自己寫(xiě)的時(shí)候,完全不明白什么時(shí)候該帶參數(shù),什么時(shí)候不該帶,這分別代表了什么?求大神解答。。。

正在回答

1 回答

調(diào)用dec函數(shù)時(shí)返回的是內(nèi)部函數(shù)in_dec的函數(shù)地址(不帶參數(shù)返回的就是函數(shù)地址),直接返回函數(shù)地址是為了這個(gè)函數(shù)的可重用性,以便下一個(gè)具有同樣性質(zhì)的函數(shù)(例如my_average)也可以進(jìn)行相同的判斷

(先執(zhí)行in_dec里面的判斷,再調(diào)用my_sum()函數(shù)或者my_average( )函數(shù)進(jìn)行計(jì)算)

帶了參數(shù)值就代表正式調(diào)用這個(gè)函數(shù)。它執(zhí)行邏輯是 調(diào)用dec函數(shù)-->返回in_dec地址-->自身就是in_dec了-->執(zhí)行in_dec里的判斷并返回sum()函數(shù)對(duì)*arg的處理結(jié)果。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕標(biāo)9241536

調(diào)用過(guò)程是,我們調(diào)用dec函數(shù),而dec函數(shù)的參數(shù)是一個(gè)函數(shù)地址my_new_sum = dec(my_sum),我們就傳入一個(gè)函數(shù)地址作為參數(shù)。 而返回的是dec的內(nèi)嵌函數(shù)in_dec函數(shù)地址,因此my_new_sum指向的就是in_dec函數(shù)(相當(dāng)于 my_new_sum = in_dec)。 因?yàn)閕n_dec是dec的內(nèi)嵌函數(shù)因?yàn)閑nclosing作用域的關(guān)系它保留了my_sum函數(shù)的屬性。而我們?cè)僬{(diào)用my_new_sum的時(shí)候就相當(dāng)與調(diào)用in_dec,而in_dec的虛擬參數(shù)是**arg,我們?cè)谡{(diào)用的new_my_sum傳入?yún)?shù)即可
2017-09-07 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕標(biāo)9241536

有些啰嗦,總結(jié)下來(lái)就是。 調(diào)用dec的時(shí)候傳入的是函數(shù)地址:my_new_sum = dec(my_sum), 相當(dāng)于 my_new_sum = in_dec 現(xiàn)在是這樣my_new_sum(*arg),你傳入實(shí)參就ok了,他會(huì)對(duì)你參數(shù)進(jìn)行判斷,并返回給你my_num(*arg)處理過(guò)后的值
2017-09-07 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
python裝飾器
  • 參與學(xué)習(xí)       50128    人
  • 解答問(wèn)題       51    個(gè)

本門(mén)python教程將代領(lǐng)大家輕松搞定Python裝飾器運(yùn)用

進(jìn)入課程

返回值帶參數(shù)或者不帶參數(shù)分別是什么意思?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)