Seite 1 von 1

Array of Objekts

Verfasst: Mittwoch 17. Mai 2006, 17:26
von outi
Hi,
ich komme ursprünglich aus der Java Ecke und versuche mich gerade mit Python anzufreunden was auch in weiten Teilen schon gelungen ist ;). Leider stellt mich die OOP noch etwas vor Fragen. Ich wollte das Beispielprogramm aus dem ByteOPython Buch schreiben. Es geht daraum ein Adressbuch zu Programmieren. Da man das Ganze ohne DB realisieren soll, hätte ich in Java nun ein Array of Objekts angelegt, kann ich sowas auch in Python realisieren oder gibt es andere Möglichkeit das Problem der Instanzerzeugung zur Laufzeit zu realisieren.

Afaik kann man den Datentyp der Arrayfelder zu Anfang festlegen.
array.append(Klasse()) funkt auch nur solang man nur ein Objekt hat und das ist ja nicht Sinn der Sache :).

Hoffe ihr könnt mir helfen.

Verfasst: Mittwoch 17. Mai 2006, 17:36
von Gromit
Das Macht wenig Sinn.

Immer, wenn du einen Eintrag hinzufügst, rufst du append mit dem neunen Adress-Objekt auf. Listen sind, was die Länge angeht, komplet dynamisch.

Es sei noch auf das pickle- bzw. cPickle-Modul hingwiesen um das ganze dann zu speichern: http://docs.python.org/lib/module-pickle.html

Verfasst: Mittwoch 17. Mai 2006, 17:40
von outi
Ja aber wie erstelle ich ein neues "Adress-Objekt" zur Laufzeit?

Verfasst: Mittwoch 17. Mai 2006, 18:08
von Joghurt
Auch ich verstehe nicht, was du meinst und was dein Problem ist...
Du kannst in Listen und Maps alles packen, was du willst:

Code: Alles auswählen

class Foo:
  pass

meindict = {"abc": 42,
"foo": "bar"
"wurz": Foo() }

liste = []
liste.append(Foo())
liste.append(4)
liste.append(Foo())
meindict["blabla"] = [Foo(), 42]