Ist die Durchsetzung einer abstrakten Methode Umsetzung unpythonic?

Beim entwerfen von Klassen, die abstrakte Methoden können sehr hilfreich sein. Von dem was ich weiß, Python besitzt keinen Mechanismus für die Durchsetzung einer geerbten Klasse zum implementieren der abstrakten Methode. In meinem code (siehe Beispiel unten) ich einen Fehler bei assertion in der base-Klasse zu führen zu einem Laufzeitfehler, wenn nicht implementiert. Ist dies unpythonic?

class Dog(Animal):
  def speak(self):
   return "bark"

class Animal():
  def speak(self):
   assert(False) #abstract
InformationsquelleAutor Mike | 2011-07-04
Schreibe einen Kommentar