class Custom(type):
@classmethod
def __getitem__(cls, item):
raise NotImplementedError("")
@classmethod
def test(cls):
print("class custom : test")
class Book(metaclass=Custom):
Note = 0
Pad = 1
Name = { Note : "Note", Pad : "Pad"}
@classmethod
def __getitem__(cls, item):
return Book.Name[item]
@classmethod
def test(cls):
print("class book: test")
Ý định của tôi là phải cóLàm thế nào để ghi đè lên __getitem__ khi nó là một phương pháp lớp học?
Book[Book.Note] returns "Note"
Dường __getitem __() không được ghi đè, không giống như thử nghiệm(). Làm thế nào để làm cho nó hoạt động?
@ user1502776 Thật kỳ quặc. Tôi đang sử dụng Python 3 bản thân mình và nó hoạt động. Hãy để tôi xem liệu tôi có thể cùng nhau giới thiệu một bản demo không. –
Cảm ơn bạn. Tất cả đều hoạt động tốt. – user1502776
Giải thích của bạn thể hiện sự hiểu biết sâu sắc về hoạt động của Python. Bạn có thể giới thiệu một cuốn sách để đọc ..? – user1502776