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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

程序可以運(yùn)行,但我仍然收到 NoneType 錯(cuò)誤 Python Decorators

程序可以運(yùn)行,但我仍然收到 NoneType 錯(cuò)誤 Python Decorators

慕田峪9158850 2023-12-08 14:52:17
所以我很新,決定嘗試裝飾器,基本上它在顯示名稱之前添加“開(kāi)始”,然后添加“結(jié)束”。非常簡(jiǎn)單,并且有效,但是我收到 NoneType 錯(cuò)誤?def start_end_decorator(func):    def wrapper():        print("Start")        func()        print("End")    return wrapper()@start_end_decoratordef print_name():    print ('Nero')print_name()這是輸出:line 13, in <module>    print_name()TypeError: 'NoneType' object is not callableStartNero我很困惑?我應(yīng)該忽略它并嘗試/例外嗎?結(jié)尾
查看完整描述

3 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

該函數(shù)wrapper中沒(méi)有 return 語(yǔ)句,因此它返回None。因此 start_end_decorator() 中的這一行:

return wrapper()

返回None。您的意圖肯定是返回函數(shù),而不是函數(shù)的返回值。嘗試將該語(yǔ)句更改為:

return wrapper


查看完整回答
反對(duì) 回復(fù) 2023-12-08
?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

裝飾器必須返回一個(gè)可調(diào)用對(duì)象。 start_end_decorator但是,正在返回 的返回值wrapper。由于wrapper沒(méi)有return聲明,None因此隱式返回。 None不是可調(diào)用對(duì)象,因此會(huì)出現(xiàn)錯(cuò)誤。

你想要的是從你的裝飾器返回wrapper而不是wrapper().


查看完整回答
反對(duì) 回復(fù) 2023-12-08
?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊

def start_end_decorator(func):


def wrapper(*args,**kwargs):

    print('start')

    

    result=func(*args,**kwargs)

    

    print('End')

    

    return result

return wrapper

@start_end_decorator

def add(x): print (x) return x+5


結(jié)果=添加(100)打?。ńY(jié)果)


O/P:開(kāi)始 100 結(jié)束 105


查看完整回答
反對(duì) 回復(fù) 2023-12-08
  • 3 回答
  • 0 關(guān)注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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