Code: Alles auswählen
#/usr/bin/env python3
class A:
static = 0
class B(A):
def print_(self):
...
"self.static" - ist sicherlich nicht praktisch, denn wenn man sie so überschreibt setzt man ja ein Instanz-Attribute.
"type(self).static" - wäre das gleiche wie "A.static" oder "B.static" kann man aber nicht in einer statischen Methode benutzen.
"super().static" - greift auf "A.static" zurück, aber kann nicht in der Basis-Klasse verwendet werden
Bei "A.static" und "B.static" sehe ich keine Nachteile, außer das man den Klassennamen kennen muss und der ist ja klar.
Ich hoffe erstmal das ich das weitestgehend richtig verstanden habe und frage mich jetzt aber, was man nun am besten benutzen sollte. Bzw. sehe ich irgendwelche anderen Nachteile nicht ?
