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")
Meine Absicht ist esWie überschreibt man __getitem__, wenn es sich um eine Klassenmethode handelt?
Book[Book.Note] returns "Note"
Es scheint __getitem haben __() ist nicht überschreibbar, im Gegensatz zu Test(). Wie kann ich es funktionieren lassen?
@ user1502776 Das ungerade ist. Ich benutze Python 3 selbst und es funktioniert. Lass mich sehen, ob ich eine Demo zusammenstellen kann. –
Danke. Alles hat gut funktioniert. – user1502776
Ihre Erklärung zeigt ein tiefgehendes Verständnis von Python-Funktionen. Könntest du bitte ein Buch weiterempfehlen? – user1502776