Anfängerfrage zu Instanzen und Klassen

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
Kaio's Flying Circus
User
Beiträge: 4
Registriert: Dienstag 13. Juli 2010, 14:50

Hallo zusammen!

Ich bin mit ca. 1 Monat Python Erfahrung als erste Programmiersprache ein blutiger Anfänger, der sich an einem wahrscheinlich trivialen, Problem die Zähen ausbeißt. Alles was ich im Augenblick 'programmiere' ist relative sinnfrei und verfolgt nur den einen Zweck, mich mit Python vertraut zu machen und zu verstehen, was wie wofür ist, - d.h. ich habe kein 'Projekt' mit dem ich mein aktuelles Problem hier verdeutlichen kann, und welches auch nicht mit einem anderen Lösungsweg zu beheben wäre.

Mein Problem stellt sich wie folgt dar: Ich möchte durch Benutzereingabe (beliebig viele) Instanzen einer Klasse erzeugen lassen können - (um sie mit pickle speichern und laden zu können, was ich, soweit es um speichern/laden geht, schon kann.)
Ein Beispiel hierzu – an welchem ich das Problem zu lösen versuche – wäre durch Benutzereingabe aus einer Klasse 'Fahrzeug' mehrere Instanzen erzeugen zu lassen, wie etwa opel=fahrzeug(), bmw=fahrzeug() etc. - und zwar eben nicht, das ich diese Instanzen bereits vorher in den Code schreibe.

Das durchforsten des Internets incl. dieses Forums zu diesem Thema hat mich soweit gebracht zu vermuten, das ich hier wohl am besten mit Listen/Dictionaries (mit Tendenz zum letzteren als Lösungsweg) arbeite.
Da ich aber nicht genau weiß, wie ich dies bewerkstelligen kann, wäre es:
a) hilfreich zu wissen, ob ich mit Listen/Dictionaries auf dem richtigen Weg bin, und
b) noch hilfreicher, wenn jemand evtl. grade einen entsprechenden Code zur Hand hätte, den er hier posten kann.


Mit freundlichen Grüßen

Kaio
„And now for something completely different...“
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo und willkommen im Forum!

Du warst schon auf dem richtigen Weg:

Code: Alles auswählen

>>> spam = {}
>>> while True:
...     eggs = raw_input("Eggs: ")                                                           
...     if not eggs:                                                                         
...         print spam                                                                       
...         break                                                                            
...     else:                                                                                
...         spam[eggs] = list(eggs)                                                          
...                                                                                          
Eggs: foo                                                                                    
Eggs: bar                                                                                    
Eggs: baz                                                                                    
Eggs:                                                                                        
{'baz': ['b', 'a', 'z'], 'foo': ['f', 'o', 'o'], 'bar': ['b', 'a', 'r']}                     
>>>
Das Leben ist wie ein Tennisball.
Kaio's Flying Circus
User
Beiträge: 4
Registriert: Dienstag 13. Juli 2010, 14:50

Vielen Dank für die schnelle Antwort! Ich werd, wenn ich nacher Zeit hab, gleich mal schauen, ob ich damit mein 'Problem' lösen kann.
„And now for something completely different...“
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Kaio's Flying Circus hat geschrieben:Das durchforsten des Internets incl. dieses Forums zu diesem Thema hat mich soweit gebracht zu vermuten, das ich hier wohl am besten mit Listen/Dictionaries (mit Tendenz zum letzteren als Lösungsweg) arbeite.
Um evtl Missverstaendnissen vorzubeugen: Dictionaries sind Listen nicht ueberlegen und andersrum. Die beiden haben unterschiedliche Einsatzgebiete und je nachdem was man vorhat, tendiert man zu einer Loesung ;)
Antworten