Seite 1 von 1
How to Objektorientierung
Verfasst: Samstag 17. September 2022, 13:28
von I3lackt4r
Hallo liebe Mitglieder,
ich bin noch ganz am Anfang. Habe mir aus Spaß diesen Code geprinted...
Kann mir vielleicht bitte erklären wie ich die "altern" Definition in eine Integer und damit rechnen kann?
class Leute():
def __init__(self,Vorname,Nachname,Alter):
self.Vorname = Vorname
self.Nachname = Nachname
self.Alter = Alter
def altern (self):
self.Alter= self.Alter +str(1)
def Daten(self):
print(self.Vorname+" ,"+self.Nachname+" ist "+self.Alter)
emp1 = Leute("David" , " Lawrence","39")
emp1.altern()
Carlo = Leute("Carlo" , " Meier","33")
Gisi1=Leute ("Gisela" , " Müller","67")
Konfuzius=Leute("Mahadma" , " Gandhi","103")
emp1.Daten()
Carlo.Daten()
Gisi1.Daten()
Konfuzius.Daten()
Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 14:04
von darktrym
Gar nicht, eine Zeichenkette ist keine Zahl.Du kannst in den jeweils anderen Typ umwandeln.
Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 14:24
von I3lackt4r
Also was mache ich mit meinem Problem ?
Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 14:29
von ThomasL
Du speicherst das Alter nicht als String sondern als Integer.
Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 14:45
von I3lackt4r
sorry nochmal dumm gefragt... muss das def __init__(self,Vorname,Nachname,int(Alter):) sein und die ganzen Alterstrings auch so ?
Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 15:30
von __blackjack__
@I3lackt4r: Nein, das Alter sollte von vornherein nirgends eine Zeichenkette sein.
Weitere Anmerkungen:
`Leute` passt nicht als Name für eine Klasse die gar keine Leute (Mehrzahl) modelliert, sondern nur *eine* Person.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Funktions- und Methodennamen beschreiben üblicherweise die Tätigkeit, die sie durchführen. `Daten()` ist keine Tätigkeit und dazu noch absolut nichtssagend.
Man nummeriert keine Namen. Das macht hier noch nicht einmal Sinn da willkürlich eine 1 dran zu hängen oder es nicht zu tun.
Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 18:15
von I3lackt4r
Ich verstehe jetzt nichts mehr

Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 18:28
von Dennis89
Hallo,
ist jetzt vermutlich nicht was du hören willst, aber du kommst jetzt von einem Problem zum nächsten Problem und die Lösungen wirst du meist nicht verstehen.
Ich würde dass was du da vorhast erst mal ohne Klasse programmieren, damit du dich mit den Grundlagen vertraut machen kannst. Es ist wichtig zu wissen was mit einer Zahl passiert, wenn man die zwischen Anführungszeichen schreibt, was 'str()', 'int()' etc macht und wie man Ausgaben, die aus verschiedenen Typen, Zahlen und Buchstaben, zusammen setzt.
Du musst erst mal etwas "spielen" zum Beispiel mit solchen Tests:
Code: Alles auswählen
was_ist_das = 5
print(was_ist_das)
print(type(was_ist_das))
was_ist_das = "5"
print(was_ist_das)
print(type(was_ist_das))
Damit du die unterschiedlichen Datentypen lernst.
Und einfach mal weiter probieren, wieso kann Python hier nicht x und y zusammenzählen?
Am besten noch das Tutorial durcharbeiten:
https://docs.python.org/3/tutorial/
Grüße
Dennis
Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 19:05
von I3lackt4r
Vielen Dank, Dennis
Re: How to Objektorientierung
Verfasst: Samstag 17. September 2022, 19:06
von I3lackt4r
Und natürlich auch ein großes Danke für die anderen Poster