亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于@使用和decoractor內部運行的邏輯的疑問

這個方法只有一個參數,定義的時候可否只定義一個?還有如下問題有點疑問,希望有大佬幫忙看看解答....

http://img1.sycdn.imooc.com//5e65e7460001c13f19201048.jpg

正在回答

2 回答

是不是可以這么理解, 最后一行的 factorial(10)? 其實已經不是原來的factorial()了,而是裝飾過的factorial()

0 回復 有任何疑惑可以回復我~

在這里@performance等價于factorial =?performance(factorial),
而performance(f)這個函數的返回結果是sf,
所以factorial()這個函數就等價于sf(),
所以你factorial(10)就是在調用sf(x),
x就肯定是你傳遞的10啊。
不能performance(f)理解成performance(f(x)),
前者返回的是一個函數,按后者理解的話傳遞進去的是一個f(x)函數的調用結果,這樣理解也沒有意義,
因為decorator的目的就是在不改原函數代碼的前提下,改變原函數的實現,肯定是要傳個函數去改變,傳個結果進去的話繞了半天,并沒有解決要解決的問題呀


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

關于@使用和decoractor內部運行的邏輯的疑問

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號