5
class Interval(object):
def __sub__(self, other: Interval):
pass
它的方式是我得到'NameError:name'Interval'未定義'。有人能告訴我哪種類型在這裏是正確的嗎?在魔術方法中鍵入「其他」的提示?
class Interval(object):
def __sub__(self, other: Interval):
pass
它的方式是我得到'NameError:name'Interval'未定義'。有人能告訴我哪種類型在這裏是正確的嗎?在魔術方法中鍵入「其他」的提示?
在Python完成執行類塊內的所有代碼(包括您的方法定義)之後,該類纔會存在。
只需使用一個字符串文字代替,如建議在PEP 484:
class Interval(object):
def __sub__(self, other: 'Interval'):
pass
請注意,這是完全正常的引用的類內的方法:
class Interval(object):
def __sub__(self, other: 'Interval'):
Interval.do_something()
這僅僅是一個問題是否需要在方法簽名中或直接在類塊中使用它。