課程
/后端開發(fā)
/Python
/Python3 進階教程(新版)
課中一直在說@用法,但是我一直沒參透出@的作用和用法,大佬們講講這個@一般什么時候用,用在哪?
2021-04-22
源自:Python3 進階教程(新版) 8-10
正在回答
#定義裝飾器函數(shù)log def?log(f):?#f指代你要裝飾的函數(shù),如下文的factorial ????def?fn(x):#這里就開始裝飾了 ????????print('call?'?+?f.__name__?+?'()...')?#裝飾器裝飾的東西 ????????return?f(x)?#執(zhí)行被裝飾的函數(shù)(要裝飾了才知道對應哪個函數(shù)) ????return?fn?#裝飾完畢 ? #定義好了裝飾器內(nèi)容后,用@+裝飾器名稱就可以調(diào)用裝飾器了 @log? def?factorial(n): ????return?reduce(lambda?x,y:?x*y,?range(1,?n+1)) print(factorial(10)) #執(zhí)行順序為,先執(zhí)行裝飾器,后執(zhí)行被裝飾的函數(shù),也就是print('call?'?+?f.__name__?+?'()...')?后reduce(lambda?x,y:?x*y,?range(1,?n+1))
這課程越到后面內(nèi)容越跳越了,突然就出來一個新東西也不細講,根本就不知道在說點什么
時頌望見
@是裝飾符
以原文為例,先定義了一個log()函數(shù)。
把想要裝飾函數(shù)factorial()上一行寫上 @log,就完成了用log()函數(shù)里的內(nèi)容去“”裝飾“”factorial()函數(shù)里的內(nèi)容。
通過@裝飾符,可以修飾某函數(shù),使其完成自己想要的額外的功能
舉報
學習函數(shù)式、模塊和面向?qū)ο缶幊?,掌握Python高級程序設(shè)計
2 回答這一段,我看不懂,有大神可以幫忙解釋下嗎?
2 回答這兩節(jié)課的內(nèi)容一般用在什么地方?怎么感覺似懂非懂
1 回答我代碼寫在python commandline中,為啥不能運行
1 回答不能使用input()
1 回答子類能不能只繼承父類的部分屬性?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2023-02-22
2022-04-28
這課程越到后面內(nèi)容越跳越了,突然就出來一個新東西也不細講,根本就不知道在說點什么
2021-05-03
@是裝飾符
以原文為例,先定義了一個log()函數(shù)。
把想要裝飾函數(shù)factorial()上一行寫上 @log,就完成了用log()函數(shù)里的內(nèi)容去“”裝飾“”factorial()函數(shù)里的內(nèi)容。
通過@裝飾符,可以修飾某函數(shù),使其完成自己想要的額外的功能