ist das hier eigentlich objektorientiert oder wirr ?
Das ist ja auch kein Attribute auf dem *Modul* `datetime` sondern auf der Klasse `datetime` *in* dem Modul `datetime`.
darf die klasse Home auch zugriff auf die eigenen instancen haben ?
wenn ja machs doch so ( oder ähnlich ):
Damit ist jede instance von Home unter Home.homes zu erreichen.
wenn ja machs doch so ( oder ähnlich ):
Code: Alles auswählen
class Home(object):
homes = []
def __new__(cls, *args, **kwargs):
inst = object.__new__(cls)
cls.homes.append(inst)
return inst
ippurk hat geschrieben:@jbs: Jo, hab ich schon verstanden, und ein kleines y führt zu einer zweistelligen Jahreszahl, was ich eigentlich vermeiden will.
Code: Alles auswählen
date_1 = "23.4.09"
date_1 = datetime.strptime(date_str, '%d.%m.%Y')
nochmal zum Speichern meiner vom Nutzer angelegten Daten:
Dieses Programms hier soll ja schon auch sowas wie "Datensicherung" oder "Datenrücksicherung" anbieten.
Für Leute die nicht den ganzen Thread lesen wollen: Ich hab hier eine Miethausverwaltung, wo man Häuser und deren Wohnungen als Objekte erstellen kann, sowie einen Mieter, der dann irgendwo einziehen oder ausziehen kann. Eine der Hauptfunktionen ist eine Nebenkostenabrechnung für die einzelnen Häuser, die nur noch sowas ausspuckt wie: Mieter xy hat z zuwenig gezahlt.
Im Moment arbeite ich während der Laufzeit ja nur mit meinen Instanzen, die in homes{} und tenants{} abgelegt werden, wobei in homes{} auch noch Instanzen der Wohnungen liegen, da die ja von den homes abhängig sind.
Jetzt bin ich also gedanklich soweit, daß ich mit Pickle diese zwei Dicts speichern und auch laden kann. Nur kommt mir das ziemlich hölzern vor.
Da bietet sich doch wohl eher eine Datenbank an, oder ?
Nur, um das gedanklich jetzt mal ein bißchen klarzukriegen: Kann und sollte ich in dieser Datenbank meine Instanzen ablegen oder macht man das prinzipiell eher so, nur Informationen abzuspeichern, mit denen meine Instanzen dann beim erneuten Programmstart wieder erzeugt werden ? Hab ich also nach dem Laden der Daten auf einen Schlag sämtliche Instanzen mit allen Eigenschaften wieder zur Verfügung, oder muss ich die erst erstellen ? Wie gehe ich da am besten grundsätzlich mal ran ?
Lektüreempfehlungen immer gern gesehen,
Dieses Programms hier soll ja schon auch sowas wie "Datensicherung" oder "Datenrücksicherung" anbieten.
Für Leute die nicht den ganzen Thread lesen wollen: Ich hab hier eine Miethausverwaltung, wo man Häuser und deren Wohnungen als Objekte erstellen kann, sowie einen Mieter, der dann irgendwo einziehen oder ausziehen kann. Eine der Hauptfunktionen ist eine Nebenkostenabrechnung für die einzelnen Häuser, die nur noch sowas ausspuckt wie: Mieter xy hat z zuwenig gezahlt.
Im Moment arbeite ich während der Laufzeit ja nur mit meinen Instanzen, die in homes{} und tenants{} abgelegt werden, wobei in homes{} auch noch Instanzen der Wohnungen liegen, da die ja von den homes abhängig sind.
Jetzt bin ich also gedanklich soweit, daß ich mit Pickle diese zwei Dicts speichern und auch laden kann. Nur kommt mir das ziemlich hölzern vor.
Da bietet sich doch wohl eher eine Datenbank an, oder ?
Nur, um das gedanklich jetzt mal ein bißchen klarzukriegen: Kann und sollte ich in dieser Datenbank meine Instanzen ablegen oder macht man das prinzipiell eher so, nur Informationen abzuspeichern, mit denen meine Instanzen dann beim erneuten Programmstart wieder erzeugt werden ? Hab ich also nach dem Laden der Daten auf einen Schlag sämtliche Instanzen mit allen Eigenschaften wieder zur Verfügung, oder muss ich die erst erstellen ? Wie gehe ich da am besten grundsätzlich mal ran ?
Lektüreempfehlungen immer gern gesehen,
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Datenbanken sind fuer Daten immer eine gute Idee
Hat in dem Fall auch den Vorteil, dass man nicht an die Applikation (oder Python) gebunden ist, um die Daten eventuell auszuwerten.
Schau dir mal SQLAlchemy an, das kannst als ORM verwenden, um deine Instanzen zu sichern, aber du kannst auch auf ORM verzichten und den Datenansatz nutzen - besser als mit pure SQL.

Schau dir mal SQLAlchemy an, das kannst als ORM verwenden, um deine Instanzen zu sichern, aber du kannst auch auf ORM verzichten und den Datenansatz nutzen - besser als mit pure SQL.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
ok, klingt interessant.
Bei Sql-Sachen muss man aber doch immer diesen Sql-Server laufen haben ? Kann ich das nicht irgendwie komplett innerhalb meines Programms laufen lassen. Der Nutzer soll ja später sozusagen nur auf installieren drücken müssen. Sorry, bei der sqlAlchemy Seite bin ich da erst mal noch nicht so schlau geworden, zu viele neue Begriffe da.
Bei Sql-Sachen muss man aber doch immer diesen Sql-Server laufen haben ? Kann ich das nicht irgendwie komplett innerhalb meines Programms laufen lassen. Der Nutzer soll ja später sozusagen nur auf installieren drücken müssen. Sorry, bei der sqlAlchemy Seite bin ich da erst mal noch nicht so schlau geworden, zu viele neue Begriffe da.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ach ja, als Management-Tool empfehle ich gerne den SQLiteManager. Das ist ein Firefox-Plugin und daher einfachst zu installieren. Ist teilweise ein wenig buggy, aber für das einfache Anlegen und manuelle Eintragen von Daten vollkommen ausreichend.