看板 Python 關於我們 聯絡資訊
T1是一個decorator class 用到class A func, 傳進來的arg中,會少了class A self參數 請問有人可以解釋原因嗎? code =========================== class T1(object): def __init__(self, func): self.func = func def __call__(self, *arg, **kw): print('T1:', locals()) # T1: {'self': <__main__.T1 object at 0x7f28e2787c70>, 'arg': (), 'kw': {}} return self.func(*arg, **kw) class A(object): @T1 def func(self): pass a = A() a.func() # missing 1 required positional argument: 'self' ============================ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.30.175 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1668754723.A.523.html ※ 編輯: tsaiminghan (101.12.30.175 臺灣), 11/18/2022 16:07:09 ※ 編輯: tsaiminghan (101.12.30.175 臺灣), 11/18/2022 16:08:59
lycantrope: 因為T1回傳不是function,instance並不會自動傳入self 11/18 17:31
tsaiminghan: 謝謝 11/19 20:23