3
我想讓我的類具有基於類變量(可能在派生類中不同)的字符串表示形式。 This answer表明,元類可能是要走的路:Python中的類的字符串表示形式3
class MC(type):
def __repr__(self):
return 'Wahaha!'
class C():
__metaclass__ = MC
print(C)
但是,這並不在Python 3工作,返回
<class '__main__.C'>
,而不是Wahaha!
。 有人可以向我解釋Python 2和Python 3之間的變化以及Python 3中如何改變它?
備註:PEP 8建議每個縮進使用4個空格,而不是2個。通常,與其他人做同樣的事情會使生活變得更簡單。我的確編輯了你的問題,以免讓新人認爲偏離標準建議是一個好主意。 – EOL