Attribut als default-Parameter in Klassenmethode?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Halt. In eurem Fall wird bei k.func(k.x, 7) die Klassenvariable 'x' mitgeschickt. Das geht natürlich nicht, wenn es k nicht gibt ;)

Schauen wir uns mal folgende Klasse an:

Code: Alles auswählen

class foo:
    irgendwas = 'dingsbums'

    def methodeEins(self, parameter=irgendwas):
        print parameter
Hierbei geht der "direkte" Aufruf schon so: foo().methodeEins("jo") aber nicht so: foo.methodeEins("jo")

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

jens, bitte lies Dir noch mal den Beitrag von henning und Deine Antwort darauf durch. Dort ist nämlich mit k = Klasse() längst eine Instanz erzeugt ;)
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ups :oops: Jetzt verstehe ich erst wie das gemeint war :lol:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten