Hallo!
reggid hat geschrieben:Also ich hab jetzt mit der Python OOP angefangen!
Jetzt habe ich eine Klasse:
[...]
So ich hoffe ihr könnt mir helfen
Zum #!:
Normal rufst Du das Script ja mit "python script.py<return>" auf. In bestimmten Umgebungen (z.B. Unix/Linux, WWW-Server) kann man das Script aber direkt aufrufen (lassen), also nur mit "script.py<return>" und dafür muss die Umgebung wissen, womit das Script gestartet werden soll.
Zum \:
storetime() ergibt so keinen Sinn. Da hast Du was unterschlagen. Ich nehme mal an, dass das komplett so aussieht:
Code: Alles auswählen
def storetime(self):
self.year,\
self.month,\
self.day,\
self.hour,\
self.minute,\
self.second,\
self.dow,\
self.doy,\
self.dst=time.localtime(self.t)
Eine Python-Anweisung endet überlicherweise mit einem Zeilenumbruch, d.h. alles von self.year bis time.localtime(self.t) müsste in eine Zeile stehen. Das wäre etwas unübersichlich. Deswegen ermöglicht das \ , eine Anweisung über mehrere Zeilen verteilen zu können.
Zu __str__():
Konkret: __str__() bestimmt, was ausgegeben wird, wenn Du ein Objekt dieser Klasse mit print aufrufst oder mit der built-in-Funktion str(),
stellt also die String-Repräsentation der Klasse da.
Allgemein die Bedeutung der __blabla__()-Funktionen hier zu erläutern, würde vielleicht etwas weit führen. Vielleicht steht dazu was in dem Buch, aus dem Du wohl den obigen Quellcode hast (Python in 24 Hours?).
Jan