Wenn super()
Python mit der Methode Verkettung zu tun, müssen Sie explizit eine eigene Klasse angeben, zum Beispiel:Warum muss ich bei der Verwendung von super() meine eigene Klasse angeben, und gibt es eine Möglichkeit, diese zu umgehen?
class MyDecorator(Decorator):
def decorate(self):
super(MyDecorator, self).decorate()
ich den Namen meiner Klasse MyDecorator
als Argument an super()
angeben müssen. Dies ist nicht trocken. Wenn ich meine Klasse umbenenne, muss ich sie zweimal umbenennen. Warum wird das so umgesetzt? Und gibt es eine Möglichkeit, den Namen der Klasse zweimal (oder mehr) zu schreiben?
Link zur aktuellen Version des PEP: http://www.python.org/dev/peps/pep-3135/ – sth
'super()' ohne Argumente funktioniert * nicht * auf Python 2.6.1 – jfs
PEP 367 scheint "überholt" worden zu sein. Ich sehe keinen Beweis dafür, dass dies zu 2.7 hinzugefügt wurde. Ich denke, es ist nur eine 3.x-Funktion. – Vultaire