hi, jetzt wollte ich etwas fragen. In meinem Prog gibt es bis zu 500 instanzen einer klasse. Ich wollte deshalb fragen, wo ich sie speichern kann, aber nicht
im Code. Wäre eine Datenbank (nix ahnung ) geeigtnet?
Speicherort
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Müssen die denn zwangsweise persistent sein? Wenn nicht - wozu speichern?
Am einfachsten wäre da wohl pickle.
Die Frage, die sich mir sofort stellt ist folgende: Nutzt Du hier Klassen als Datenspeicher? Wenn ja, solltest Du in Erwägung ziehen, die Daten in eine Datei / DB auszulagern und nur bei Bedarf zu laden / speichern.
Am einfachsten wäre da wohl pickle.
Die Frage, die sich mir sofort stellt ist folgende: Nutzt Du hier Klassen als Datenspeicher? Wenn ja, solltest Du in Erwägung ziehen, die Daten in eine Datei / DB auszulagern und nur bei Bedarf zu laden / speichern.
Also die Instanzen sind die Hauptobjekte. deshalb sollte ich sie doch in Datenbanken speichern? Wenn ja, wo gibts denn ein Anfängertut?
[b][color=blue]Python[/color] + [color=orange]Blender[/color][/b] = [i]Super[/i]
[i]"Le Python mangera Tout"[/i]
The Python is gonna eat everything
(Except for Java, there are too many fans)
[i]"Le Python mangera Tout"[/i]
The Python is gonna eat everything
(Except for Java, there are too many fans)
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Wo kommen denn die Daten für diese "Hauptinstanzen" her?
Hast Du so was in der Art:
Wenn ja, machst Du was falsch
Du legst doch die Instanzen einer Klasse zu einem bestimmten Zweck an. Eine Instanz ohne spezielle Merkmale (sprich Attributwerte) ist ja an sich sinnlos. Also müssen diese Daten ja schon irgend wo herkommen. Es wäre hilfreich, wenn man darüber bescheid wüßte.
Hast Du so was in der Art:
Code: Alles auswählen
Class A:
....
a1 = A()
a2 = A()
a3 = A()
...
an = A()
Du legst doch die Instanzen einer Klasse zu einem bestimmten Zweck an. Eine Instanz ohne spezielle Merkmale (sprich Attributwerte) ist ja an sich sinnlos. Also müssen diese Daten ja schon irgend wo herkommen. Es wäre hilfreich, wenn man darüber bescheid wüßte.
Also die Instanzen haben schon Eigenschaften. Die müssen ja auch abgelesen werden können. Vielleicht in einer art Tabelle oder Datenbank?
[b][color=blue]Python[/color] + [color=orange]Blender[/color][/b] = [i]Super[/i]
[i]"Le Python mangera Tout"[/i]
The Python is gonna eat everything
(Except for Java, there are too many fans)
[i]"Le Python mangera Tout"[/i]
The Python is gonna eat everything
(Except for Java, there are too many fans)
Gibt es die Instanzen jetzt schon, oder soll es die erst noch geben?Brafil hat geschrieben:Also die Instanzen haben schon Eigenschaften. Die müssen ja auch abgelesen werden können. Vielleicht in einer art Tabelle oder Datenbank?
Wenn es sie schon gibt: Woher kommen sie? Poste doch mal etwas Code.
Ob Datenbank, XML, CSV - es hängt von deinem Anwendungsfall ab, was am besten geeignet ist.
Das ist mal ein Beispiel:
Das wird alles in einer Tabelle ausgegeben. Fragt nicht wie Könnte man eine Datenbank mit den Schülern und ihren Eigenschaften füllen und das Programm liest sie dann ein als hätte ich jeden einzelnen im Code selbst definiert? Wenn ja, dann wie? Wenn nicht, dann wie sonst?
Code: Alles auswählen
class Schuler():
def __init__(self, name, alter, klasse, **noten)
self.name=name ........
Peter=Schuler("Peter Sowihso", "12", "8", Deutsch=1, Mathe=2 usw...)
Karl=Schuler(...)
... (500 Schuler)
[b][color=blue]Python[/color] + [color=orange]Blender[/color][/b] = [i]Super[/i]
[i]"Le Python mangera Tout"[/i]
The Python is gonna eat everything
(Except for Java, there are too many fans)
[i]"Le Python mangera Tout"[/i]
The Python is gonna eat everything
(Except for Java, there are too many fans)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja natürlich. Mittels Datenbanken oder pickle lässt sich das ja trivial lösen.Brafil hat geschrieben:Könnte man eine Datenbank mit den Schülern und ihren Eigenschaften füllen und das Programm liest sie dann ein als hätte ich jeden einzelnen im Code selbst definiert?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Naja, wenn man schon Objekte hat, ist es doch idiotisch, diese manuell in eine Datenbank zu speicher. Wozu gibt es ORMs?helduel hat geschrieben:Kannst dir ja mal sqlite anschauen. Dann kriegst du ne Idee davon.
Und nein, bitte nicht das Komplexitätsargument herausholen: SQLAlchemy ist bei einfachen Sachen nicht komplexer, eher sogar einfacher als manuelle SQL-Statements
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Mag sein. Doch ActiveRecord-style ORMs sind oft simpler zu verstehen als SQLAlchemy.lunar hat geschrieben:Und nein, bitte nicht das Komplexitätsargument herausholen: SQLAlchemy ist bei einfachen Sachen nicht komplexer, eher sogar einfacher als manuelle SQL-Statements
SQLAlchemy ist durchaus eine gute Wahl, doch ist meine Faszination davon nicht so groß, dass ich es allen uneingeschränkt empfehlen würde.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice