[問題] 物件導向回傳問題
def F(func):
class C(object):
....
....
return C
class BeDeco:
....
....
BeDeco = F(BeDeco)
問: 在F()內回傳的C 究竟是 class 還是一個object?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.247.20
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1424318595.A.5B7.html
→
02/19 12:17, , 1F
02/19 12:17, 1F
簡寫而已 重點不在那邊...
※ 編輯: NTUHensen (114.39.247.20), 02/19/2015 12:34:19
推
02/19 12:59, , 2F
02/19 12:59, 2F
是的 我也如此想, 我也希望他是個object就好解了. 但事實上是
我們回顧一下__call__的功用時, 他的目的就是在call一個instance加入參數時,會
執行__call__裡面的內容.
參: http://0rz.tw/69tMQ
回過頭來, 如果說F()回傳的是object(也就是instance)的話, 那麼按照這行:
BeDeco = F(BeDeco) 的左手邊BeDeco也會是object
如果我們call他的話:
result = BeDeco()看等式右手邊, 理論上它會去找C內__call__ 如果沒有, 程式
會顯示錯誤. 但事實上C內沒有__call__ 卻執行相當正常. 這意味著它很可能不
是instance
※ 編輯: NTUHensen (114.39.247.20), 02/19/2015 13:52:31
※ 編輯: NTUHensen (114.39.247.20), 02/19/2015 13:53:46
→
02/19 14:07, , 3F
02/19 14:07, 3F
→
02/19 14:07, , 4F
02/19 14:07, 4F
→
02/19 14:09, , 5F
02/19 14:09, 5F
→
02/19 14:10, , 6F
02/19 14:10, 6F
→
02/19 14:11, , 7F
02/19 14:11, 7F
→
02/19 14:11, , 8F
02/19 14:11, 8F
感謝資訊, 看來回傳的是Class object, 基本上就是class 而不是instance
※ 編輯: NTUHensen (114.39.247.20), 02/19/2015 15:06:18
Python 近期熱門文章
PTT數位生活區 即時熱門文章