Hallo,
Ich habe ein Problem mit zwei Attributen die ich auf private gesetzt habe,
durch einen Getter und Setter sollte es wieder funktionieren, jedoch klappt es irgendwie nicht...
Python Text:
class Belag:
def __init__ (self, name, preis):
self.__Name = name
self.__Preis = preis
def gibName(self):
return self.Name
def setzeName(self, Name):
self.Name = name
def gibPreis(self):
return self.Preis
def setzePreis(self, Preis):
self.Preis = preis
Fehlermeldung bei dem folgenden print Befehl (print(belag5.Name)):
print(belag5.Preis)
AttributeError: 'Belag' object has no attribute 'Preis'
Freue mich auf schnelle Antworten!
MfG Ninja
Python Problem mit Getter und Setter
- __blackjack__
- User
- Beiträge: 13123
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Ninjacyclone2: Das ”Problem” ist ganz einfach dadurch gelöst in dem Du aufhörst zu denken es gäbe so etwas wie „private“ in Python und dass das zwei führende Unterstriche wären. Lass die beiden führenden Unterstriche weg und die trivialen Getter/Setter und dann hast Du funktionierenden, idiomatischen Python-Code.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Der Code sollte also so aussehen:
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Der Code sollte also so aussehen:
Code: Alles auswählen
class Belag:
def __init__(self, name, preis):
self.name = name
self.preis = preis
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman