Ja habe ich mir schon gedacht, wollte auf den erwähnten Unterschied hinaus.
Es wurde schon mehrfach gesagt, ohne den vollständigen Code, kann man dir nicht weiter helfen. Also außer da was schon geschrieben wurde.
Du schreibst immer wieder, dass das mit Datetime und time ein schweres Kapitel für dich ist. Ich stell da auch nicht in Frage und will das auch nicht bewerten, nur solange du nicht zeigst was du machst, kann man dir auch den Fehler nicht zeigen.
Timer Abfrage
-
- User
- Beiträge: 142
- Registriert: Mittwoch 5. Februar 2025, 12:55
Da ich mein altes Script schon runter geschmissen habe , schreibe ich ein kleines Script was ich vor habe und was passieren soll im Script .
Vielleicht wisst ihr ungefähr was ich vor habe undvob es überhaupt möglich ist
Vielleicht wisst ihr ungefähr was ich vor habe undvob es überhaupt möglich ist
- noisefloor
- User
- Beiträge: 4167
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Der Beitrag zeigt aber wieder, dass dein Problem ist, dass du die Grundlagen nicht kannst und nicht lernst und die aus nicht nachvollziehbaren Gründen weigerst, dass zu lernen. Was du versuchst übersteigt halt dein Können. Wenn du dir das Können nicht erst aneignest -> selber Schuld.
Das ist ungefähr so, als hättest du z.B. keinen Führerschein für PKW, du aber jedes mal gezielt am Fahrschulauto mit Fahrlehrer vorbei gehst, in ein Formel 1 Auto steigst und dich jedes mal aufs neue wunderst, dass du in jeder Kurve abfliegst und das Auto permanent in die Reifenstapel setzt.
2h pro Tag sind locker genug, um hobbymäßig eine Programmiersprache zu lernen. Man muss aber seine eigenen Ressourcen _sinnvoll_ einsetzen und strukturiert lernen. Tust du IMHO aber nicht, von daher scheiterst du IMHO aktuell an die selber und deiner Einstellung, nicht an Python.
Gruß, noisefloor
Das ist ungefähr so, als hättest du z.B. keinen Führerschein für PKW, du aber jedes mal gezielt am Fahrschulauto mit Fahrlehrer vorbei gehst, in ein Formel 1 Auto steigst und dich jedes mal aufs neue wunderst, dass du in jeder Kurve abfliegst und das Auto permanent in die Reifenstapel setzt.
2h pro Tag sind locker genug, um hobbymäßig eine Programmiersprache zu lernen. Man muss aber seine eigenen Ressourcen _sinnvoll_ einsetzen und strukturiert lernen. Tust du IMHO aber nicht, von daher scheiterst du IMHO aktuell an die selber und deiner Einstellung, nicht an Python.
Gruß, noisefloor
-
- User
- Beiträge: 142
- Registriert: Mittwoch 5. Februar 2025, 12:55
@noisefloor
Ich übe jeden Tag mindestens 1 - 3 Stunden ob mit dem Buch oder hier im Forum oder per YouTube.
Es gibt Themen wie zum Beispiel Klasse die ich gut verstanden habe und damit soweit arbeiten kann wohl noch nicht perfekt aber man versucht sich zu steigern .
Aber es gibt auch Themen wie Datetime wo man schon ab und zu zweifelt und sich fragt , was mach ich falsch .
Es gibt Leute die haben es in 1 Jahr voll drauf und andere in 2 andere überhaupt nicht .
Mit PHP hatte ich soweit keine Probleme es ist auch nicht leicht aber meiner Meinung nach nicht so kompliziert.
Aber ich werde mich jetzt erstmal nach Euren Ratschlägen nach selber versuchen und selber Sachen zu lernen und zu verstehen .
Danke Euch trotzdem für Eure ganze Unterstützung.
Ich übe jeden Tag mindestens 1 - 3 Stunden ob mit dem Buch oder hier im Forum oder per YouTube.
Es gibt Themen wie zum Beispiel Klasse die ich gut verstanden habe und damit soweit arbeiten kann wohl noch nicht perfekt aber man versucht sich zu steigern .
Aber es gibt auch Themen wie Datetime wo man schon ab und zu zweifelt und sich fragt , was mach ich falsch .
Es gibt Leute die haben es in 1 Jahr voll drauf und andere in 2 andere überhaupt nicht .
Mit PHP hatte ich soweit keine Probleme es ist auch nicht leicht aber meiner Meinung nach nicht so kompliziert.
Aber ich werde mich jetzt erstmal nach Euren Ratschlägen nach selber versuchen und selber Sachen zu lernen und zu verstehen .
Danke Euch trotzdem für Eure ganze Unterstützung.
Das Forum ist dazu da, zu helfen, wenn Du aber keine Hilfe annehmen willst, ist das ganz alleine Dein Problem. Unser Ratschlag ist NICHT nur im eigenen Saft zu schmoren. Du sollst Dein Programm zeigen, beschreiben, was Du erwartest und was du tatsächlich bekommst.
- noisefloor
- User
- Beiträge: 4167
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Welches Buch hast du denn? Es gibt nur sehr wenige gute Python Bücher und - zumindest nach meinem Wissensstand - auf deutsch gar keine.
Also: vergiß' das Buch, vergiß' YouTube und lerne mit dem offiziellen Python Tutorial auf docs.python.org oder der deutschen Übersetzung https://pytude.readthedocs.io/de/latest/
Was du falsch machst, also im allgemeinen und im Bezug aufs Fragen stellen hier im Forum, ist dir mindestens 20x in diversen Threads hier gesagt worden. Solange du das weg ignorierst -> dein Problem. Sirius3 hat es schön auf den Punkt gebracht:
Also: vergiß' das Buch, vergiß' YouTube und lerne mit dem offiziellen Python Tutorial auf docs.python.org oder der deutschen Übersetzung https://pytude.readthedocs.io/de/latest/
Was du falsch machst, also im allgemeinen und im Bezug aufs Fragen stellen hier im Forum, ist dir mindestens 20x in diversen Threads hier gesagt worden. Solange du das weg ignorierst -> dein Problem. Sirius3 hat es schön auf den Punkt gebracht:
Gruß, noisefloorUnser Ratschlag ist NICHT nur im eigenen Saft zu schmoren. Du sollst Dein Programm zeigen, beschreiben, was Du erwartest und was du tatsächlich bekommst.
-
- User
- Beiträge: 142
- Registriert: Mittwoch 5. Februar 2025, 12:55
Danke für den link , ich werde mal den Rat befolgen und dann mal mit der docs arbeiten .
Thema Bücher habe mehrere .
Einmal das von Florian Dalwigk für Einsteiger
Dann das Python 3 Peter Kaiser
Das Python von Kopf bis Fuß
Wo ich das das letzte bevorzuge und sehr informativ ist mit Erklärungen was das zweite zum Beispiel fehlt und sehr viele script Fehler drin sind .
Thema Bücher habe mehrere .
Einmal das von Florian Dalwigk für Einsteiger
Dann das Python 3 Peter Kaiser
Das Python von Kopf bis Fuß
Wo ich das das letzte bevorzuge und sehr informativ ist mit Erklärungen was das zweite zum Beispiel fehlt und sehr viele script Fehler drin sind .
- noisefloor
- User
- Beiträge: 4167
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Das Buch hat einen legendär schlechten Ruf (hier im Forum), weil besonders die ersten Ausgaben voll mit Fehlern im Sinne von nicht-ideomatischen Python und wirklichen schlechten Beispielen war. Ich hatte mal die 3. oder 4. Ausgabe als Rezensionsexemplar. Da war ein Teil der Fehler behoben, aber gut war das Buch nach wie vor nicht. Das Kernproblem des Buchs (außer den Fehler): viel Themen werden "dünn drüber" behandelt, weil das Buch sonst vermutlich 3000 Seiten hätte. Z.B. GUI Programmierung: wird behandelt, aber niemals tief genug, um das als Einsteiger zu lernen. Und wenn in der aktuellen, 7. Ausgabe immer noch der Umstieg von Python 2 auf 3 behandelt wird, obwohl es Python seit Dezember 2008 gibt (also seit ca. 16,5 Jahre), dann stimmt mit dem Buch was nicht. Tipp: verkauf's einfach bei Ebay, das ist das beste.Dann das Python 3 Peter Kaiser
Die anderen beiden Bücher kenne ich nicht, bzw. habe ich nie gelesen.
Ein richtig gutes Python Buch ist "Fluent Python" von Luciano Ramalho. Ist aber keine Einsteigerlektüre.
Was außer dem offiziellen Python Tutorial noch gut ist:
* https://realpython.com/: Die haben sehr viele, themenfokusierte Tutorials für alle Wissensstände, auch für Einsteiger. Die geschriebenen Tutorials sind oft kostenlos, die Videotutorials nicht. Die geschriebenen Tutorials, die ich so kenne, sind auch gut geschrieben und fehlerfrei.
* https://pymotw.com/3/: Wenn man so die Basics drauf hat ist das eine sehr gute Seite, um einen Überblick zu bekommen, welche Module Python so an Bord hat und was die können.
Ach ja: und direkt schon von dem Gedanken verabschieden, dass du nur mit deutschsprachiger Literatur weiterkommst. Das funktioniert nicht.
Gruß, noisefloor
- __blackjack__
- User
- Beiträge: 13969
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Das Kapitel „Von Python 2 nach Python 3“ finde ich in einem Buch, dass sich „das umfassende Handbuch“ nennt schon okay, denn dank der allwissenden Müllhalde (das Internet) stösst man auch heute noch auf Python 2 Quelltexte, und da ist das IMHO schon praktisch, wenn man so grob weiss, wie man das nach Python 3 portieren kann. Das sind ja auch nur rund 20 Seiten als allerletztes reguläres Kapitel.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
-
- User
- Beiträge: 142
- Registriert: Mittwoch 5. Februar 2025, 12:55
Wie gesagt das , "Python von Kopf bis Fuß" finde ich persönlich das beste . Da habe ich gelernt mit Klassen zu arbeiten , weil es sehr in die Tiefe geht . Die andern Bücher machen nur die kleinen Grundlagen und fertig .
Also , habe gestern mit den Python doc angefangen und ist schon interessanter als die anderen ersten 2 Bücher die ich erwähnt habe..
Also , habe gestern mit den Python doc angefangen und ist schon interessanter als die anderen ersten 2 Bücher die ich erwähnt habe..
- __blackjack__
- User
- Beiträge: 13969
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@TorstenVoelker: Am besten sind Klassen in der aktuellen Auflage besprochen: Nämlich gar nicht. Die Besprechung in der vorletzten Auflage ist nicht gut, und geht auch überhaupt nicht in die Tiefe. Das geht über eine super simple Klasse die `__repr__()` falsch benutzt nicht hinaus. Keine Vererbung, keine Polymorphie, keine Properties — ich sehe da nichts von Tiefe.
Und das zweite Beispiel, also der Grund warum sie mit Klassen angefangen haben, ist ein ziemlich kaputter Kontextmanager, den man so nicht schreiben würde, und den man auch nicht als Klasse schreiben würde, weil es dann viel aufwändiger wird den *korrekt* zu implementieren. Was sie im Buch haben ist folgendes:
Das ist fehlerhaft! Wenn man beispielsweise bei der Konfiguration angibt, das serverseitige Cursor verwendet werden sollen, dann kann der Abruf eine Cursors von der Verbindung zu einer Ausnahme führen, und dann wird die Verbindung nicht mehr sauber geschlossen.
Egal ob der ``with``-Block normal endet, oder mit einer Ausnahme, wird `commit()` aufgerufen. Fehler Nummer zwei. Wenn eine Transaktion nicht komplett durchgelaufen ist, will man ein `rollback()`.
Und auch `commit()` wird immer wieder mal ganz regulär und erwartbar zu einer Ausnaheme führen, in dem Fall werden dann weder Cursor noch Verbindung geschlossen. Diese Klasse ist also ziemlich kaputt und praktisch nicht brauchbar. Und es wäre auch umständlich die zu reparieren. Es ist hier viel einfacher einen Kontextmanager als Funktion zu schreiben, weil man dann für Verbindung und Cursor ihrerseits Kontextmanager verwenden kann. Das geht hier methodenübergreifend nicht.
Unüblich, weil unübersichtlich ist auch, dass neue Attribute ausserhalb der `__init__()` erstellt werden.
Was man statt der Klasse eigentlich haben möchte ist diese Funktion:
Und das zweite Beispiel, also der Grund warum sie mit Klassen angefangen haben, ist ein ziemlich kaputter Kontextmanager, den man so nicht schreiben würde, und den man auch nicht als Klasse schreiben würde, weil es dann viel aufwändiger wird den *korrekt* zu implementieren. Was sie im Buch haben ist folgendes:
Code: Alles auswählen
import mysql.connector
class UseDatabase:
def __init__(self, config: dict) -> None:
self.configuration = config
def __enter__(self) -> "cursor":
self.conn = mysql.connector.connect(**self.configuration)
self.cursor = self.conn.cursor()
return self.cursor
def __exit__(self, exc_type, exc_value, exc_trace) -> None:
self.conn.commit()
self.cursor.close()
self.conn.close()
Egal ob der ``with``-Block normal endet, oder mit einer Ausnahme, wird `commit()` aufgerufen. Fehler Nummer zwei. Wenn eine Transaktion nicht komplett durchgelaufen ist, will man ein `rollback()`.
Und auch `commit()` wird immer wieder mal ganz regulär und erwartbar zu einer Ausnaheme führen, in dem Fall werden dann weder Cursor noch Verbindung geschlossen. Diese Klasse ist also ziemlich kaputt und praktisch nicht brauchbar. Und es wäre auch umständlich die zu reparieren. Es ist hier viel einfacher einen Kontextmanager als Funktion zu schreiben, weil man dann für Verbindung und Cursor ihrerseits Kontextmanager verwenden kann. Das geht hier methodenübergreifend nicht.
Unüblich, weil unübersichtlich ist auch, dass neue Attribute ausserhalb der `__init__()` erstellt werden.
Was man statt der Klasse eigentlich haben möchte ist diese Funktion:
Code: Alles auswählen
from contextlib import closing, contextmanager
import mysql.connector
@contextmanager
def use_database(configuration):
with closing(mysql.connector.connect(**configuration)) as connection:
with closing(connection.cursor()) as cursor:
try:
yield cursor
except:
connection.rollback()
raise
connection.commit()
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis