看板 [ Python ]
討論串[問題] decorator class in a class
共 5 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 2→)留言2則,0人參與, 1年前最新作者tsaiminghan (nahgnimiast)時間1年前 (2022/11/18 14:58), 1年前編輯資訊
0
0
0
內容預覽:
T1是一個decorator class. 用到class A func, 傳進來的arg中,會少了class A self參數. 請問有人可以解釋原因嗎?. code. ===========================. class T1(object):. def __init__(sel
(還有420個字)

推噓0(0推 0噓 4→)留言4則,0人參與, 1年前最新作者lycantrope (阿寬)時間1年前 (2022/11/18 15:14), 編輯資訊
1
0
0
內容預覽:
講錯還請高手指正. @T1. def F():. pass. 把decorator還原:. def F():. pass. F = T1(F). F已經變成有implement call的 T1 class instance. 所以在呼叫F(),locals()會帶有self. --. 發信站:

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者poototo (poototo)時間1年前 (2022/11/19 01:45), 編輯資訊
0
0
0
內容預覽:
再補充l大。原po的class A 小修如下,有兩個成員. class A(object):. func = T1(lambda self: None). def func2(self):. pass. 成員 func 是屬性,也是 @T1 的等價結果,指向一個T1實例. 成員 func2 是方法.
(還有138個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者tsaiminghan (nahgnimiast)時間1年前 (2022/11/19 20:39), 1年前編輯資訊
0
0
0
內容預覽:
多謝版友解釋,原T1 decorator產生出來的是class. 結果跟下面差不多,因為func不是function,所以. 不會變成method,所以也就不會自動帶入self.. ============================. class T1(object): pass. class
(還有276個字)

推噓4(4推 0噓 2→)留言6則,0人參與, 1年前最新作者tsaiminghan (nahgnimiast)時間1年前 (2022/11/21 11:26), 1年前編輯資訊
0
0
0
內容預覽:
後來發現缺少的self,可以透過Descriptor把它加回來. ===========================. class T1(object):. def __init__(self, func):. self.func = func. def __get__(self, obj, c
(還有394個字)
首頁
上一頁
1
下一頁
尾頁