Seite 1 von 1

"Anonymes Objekt" wie Klassenfunktion aufrufen?

Verfasst: Donnerstag 2. Oktober 2008, 15:32
von breathe_easy
Die Frage steht eigentlich schon in der Überschrift.

Code: Alles auswählen

class eintrag (object):
	
	def __init__ (self):
		self.vorname = raw_input("Vorname")
		self.name = raw_input("Name")
		
	def get_vorname (self):
		return self.vorname

mitglieder =[]
mitglieder.append(eintrag())

Wie spreche ich in diesem Fall .get_vorname() an? Da ich keine Referenz auf dieses erstellte Objekt habe

Verfasst: Donnerstag 2. Oktober 2008, 15:38
von lunar
"mitglieder[-1].get_vorname()"?

Btw, triviale Getter und Setter (solche, die außer dem Attributzugriff nichts anderes tun) sind unpythonisch, und außerdem hat Python echte Eigenschaften.

Verfasst: Donnerstag 2. Oktober 2008, 15:42
von str1442
Doch, die Referenz ist ja in der Liste:

Code: Alles auswählen

mitglieder[0].get_vorname()
Deine Funktionen / Methoden solltest du übringens möglichst unabhängig von der äußeren Umgebung machen und Dinge, wie zb. das Abfragen eines Strings mit raw_input, gesondert behandeln und es der Funktion beim Aufruf als Parameter übergeben.

Verfasst: Donnerstag 2. Oktober 2008, 15:44
von breathe_easy
Hi lunar,
was soll ich mit dieser Information anfangen? Python hat echte Eigenschaften?
Mir geht es darum das Problem zu lösen, dass ich keinen Zugriff auf diese Klassenfunktion bekomme, da ich keinen "Namen" des angehängten Objektes habe.
Dass solche einfachen Getter bzw. setter Funktionen nicht Pythonistisch sind ist klar ich habe nur versucht mein Problem an einem einfachen Beispiel klar zu machen.
Solche Antworten, wie die von dir, vermiesen jedem die Idee in dieses Forum eine Frage zu posten, also nichts für Ungut aber ich brauche Hilfe in Form von verwertbaren Informationen, keine Belehrungen!

Verfasst: Donnerstag 2. Oktober 2008, 15:46
von breathe_easy
Hi str 1442,
da kann ich was mit anfangen! Danke schön :D

Verfasst: Donnerstag 2. Oktober 2008, 15:49
von Trundle
breathe_easy hat geschrieben:Hi str 1442,
da kann ich was mit anfangen! Danke schön :D
Dann schau dir doch noch einmal in Ruhe an, was lunar geschrieben hat.

Verfasst: Donnerstag 2. Oktober 2008, 15:56
von breathe_easy
Ich konnte mit str1442 seiner Antwort eine Menge anfangen und mit der von lunar ohne jeglichen Kommentar halt so gut wie nichts. Manchmal ist es für den Dummen halt besser wenn der Denkende etwas mehr spricht!!
Danke für Eure Zeit!

Verfasst: Donnerstag 2. Oktober 2008, 16:18
von DasIch
lunar hat geschrieben:Btw, triviale Getter und Setter (solche, die außer dem Attributzugriff nichts anderes tun) sind unpythonisch, und außerdem hat Python echte Eigenschaften.
Was heisst dass nochmal auf Englisch? ;)

Verfasst: Donnerstag 2. Oktober 2008, 16:22
von Nocta
breathe_easy hat geschrieben:Ich konnte mit str1442 seiner Antwort eine Menge anfangen und mit der von lunar ohne jeglichen Kommentar halt so gut wie nichts. Manchmal ist es für den Dummen halt besser wenn der Denkende etwas mehr spricht!!
Danke für Eure Zeit!
Hm, aber manchmal könnte der Dumme (du nennst dich ja selbst so) auch ein wenig mehr darüber nachdenken, was der Denkende sagt.
str1442's Posting war auch nicht informativer, mal abgesehen davon, dass er noch andere Teile des Codes kritisiert hat.
Außerdem kannst du doch froh sein, wenn dir jemand 6 Minuten nach dem Stellen der Frage die Antwort (wenn auch ohne wirkliche Erklärung) liefert. Und wenn du etwas nicht verstehst hättest du eben nochmal freundlich nachfragen können :) Keiner macht das hier für Geld, jeder schreibt einfach, weil er die Fragen anderer Beantworten möchte und ihnen damit hilft.
Naja darüber könntest du nochmal nachdenken bevor du die nächste Antwort auf deine nächste Frage direkt so heftig zurückweist.

Verfasst: Donnerstag 2. Oktober 2008, 16:22
von name
DasIch hat geschrieben:
lunar hat geschrieben:Btw, triviale Getter und Setter (solche, die außer dem Attributzugriff nichts anderes tun) sind unpythonisch, und außerdem hat Python echte Eigenschaften.
Was heisst dass nochmal auf Englisch? ;)
property

Verfasst: Freitag 3. Oktober 2008, 11:42
von breathe_easy
Hi Nocta, Sorry lunar
wenn ich mit meinem Posting über das Ziel hinaus geschossen bin, so tut mir das leid. Das Problem ist einfach für jemanden, der sehr am Anfang von Python steht, dass er mit einer völlig unkommentierten Antwort nichts anfangen kann. O.k. ich hätte nochmal nachfragen können, aber eine ordentlich Frage zu etwas zu stellen, dass keine Informationen und damit auch keine Fragezeichen liefert ist schwer.

Nochmal Danke für Eure Zeit! :wink:

Verfasst: Freitag 3. Oktober 2008, 11:48
von lunar
NP, einigen wir uns am besten darauf, dass ich das nächste Mal noch ein, zwei Sätze samt Link zur Doku fallen lassen, und du ein bisschen mehr in der Doku liest ;)

Verfasst: Freitag 3. Oktober 2008, 16:31
von snafu
"mitglieder[-1].get_vorname()"? vs. Doch, die Referenz ist ja in der Liste: mitglieder[0].get_vorname() sagt für einen Anfänger soviel anderes aus? Naja, anscheinend schon. ^^