Seite 1 von 1

Python Problem mit Getter und Setter

Verfasst: Montag 5. April 2021, 00:41
von Ninjacyclone2
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

Re: Python Problem mit Getter und Setter

Verfasst: Montag 5. April 2021, 10:19
von __blackjack__
@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:

Code: Alles auswählen

class Belag:
    def __init__(self, name, preis):
        self.name = name
        self.preis = preis