Wie überschreibe ich das Superklassenattribut? In dem folgenden Beispiel möchte ich einen anderen Wert für name
verwenden.Wie überschreibe ich ein superclass __init__ Argument?
Antwort
Übergeben Sie einfach den gewünschten "anderen" Wert an die super(...).__init__()
. Auch name
in Ihrem Beispiel ist keine Klasse, sondern eine Instanz Attribut:
class B(A):
def __init__(self, config, address, phone):
super(B, self).__init__(config.name + "__value_only")
self.address=address
self.phone=phone
self.config=config
Gibt es etwas besonders falsch es auf diese Weise bei der Definition: 'Klasse B (A): def __init __ (self, Config, Adresse, Telefonnummer): self.address = Adresse self.phone = Telefon self.config = config name = self.config.name + "__value_only" super (B, selbst) .__ init __ (name) ' – user3327034
Nein, das wäre auch in Ordnung. – schwobaseggl
großartig. Danke für die Bestätigung @schwobaseggl – user3327034
- 1. Wie überschreibe ich Bootstrap?
- 2. Wie überschreibe ich appendChild()?
- 3. Wie überschreibe ich diese Methode für ein Django-Modellfeld
- 4. Wie bekomme ich Wert von superclass Attribut?
- 5. Wie überschreibe ich psycopg2 tzinfo_factory auf Cursors
- 6. Wie überschreibe ich `__new__` mit Mehrfachvererbung?
- 7. Wie Standard-Argument in __init__ Methode in einem Unittest ersetzen
- 8. Wie schränkt man ein Argument der Klasse __init__ auf eine Liste einer anderen Klasse ein?
- 9. Wie überschreibe ich CSS-Medienklasse?
- 10. Wie überschreibe ich Yii2 TimestampBehavior?
- 11. Wie überschreibe ich uploadifive Methode?
- 12. scala jrebel superclass ändern
- 13. Nginx: Wie überschreibe ich ein URL-Unterverzeichnis in einen Abfrageparameter?
- 14. Wie überschreibe ich CSS-Set für ein Pseudo-Element?
- 15. Prestashop - Wie überschreibe ich ein anderes Modul im eigenen Modul
- 16. Wie überschreibe ich ein Element aus einem Array?
- 17. Schalten Sie eine SuperClass
- 18. __init__ hat ein unerwartetes Schlüsselwortargument
- 19. Ausnahmebehandlung mit superclass-java
- 20. Wie überschreibe ich die Namenskonventionen für Schienen?
- 21. Wie überschreibe ich die notFound-Vorlage?
- 22. Wie überschreibe ich eine Eigenschaft in Typoskript?
- 23. Wie überschreibe ich Standardwerte in jQuery Fullcalendar
- 24. Wie überschreibe ich Methode in Python?
- 25. Klasse __init__ (nicht Instanz __init__)
- 26. Wie überschreibe ich die Standardausgabe eines Objekts?
- 27. Wie überschreibe ich Währungssymbole in Java?
- 28. Wie überschreibe ich Initialisierer in Realm Cocoa
- 29. cPanel Neuling: Wie überschreibe ich Virtualhost-Einstellungen?
- 30. Explicit Gang Selbst wenn Superklasse __init__ in Python ruft
Name ist nur der Variablenname. Sie können den Attributnamen der Basisklasse nicht von der geerbten Klasse ändern. Was versuchst du zu erreichen? – Vinny
Übergeben Sie 'config.name + __value_only' an den Superklassenkonstruktor – Manjunath
@Vinny für den Rekord, das ist eigentlich perfekt machbar. – jkm