Was nicht lauffähige Beispiele angeht: Die kann man vermeiden in dem man die Beispiele testbar macht und dann auch tatsächlich testet. Dafür gibt es das `doctest`-Modul aus der Standardbibliothek schliesslich.
Was mir ansonsten so aufgefallen ist beim kurzen überfliegen:
Mehrzeilige Zeichenketten sind keine Kommentare und werden dafür auch nicht verwendet. Eine solche Verwendung würde auch sehr leicht mit Docstrings kollidieren, also das man einen ”Kommentar” setzt, der dann aber fälschlicherweise von Python selbst oder einem Dokumentationswerkzeug als Dokumentation verwendet wird. Die üblichen Werkzeuge ”erkennen” Docstrings üblicherweise auch an Stellen wo Python als Sprache keine vorgesehen hat! Man kann also auch nicht einfach sagen man kann Zeichenketten an Stellen im Quelltext als Kommentare missbrauchen wo sie vom Compiler nicht für ein `__doc__`-Attribut verwendet werden.
Auch mehrzeilige Kommentare werden mit einem # pro Zeile geschrieben und zum auskommentieren von mehreren Zeilen Code hat jeder Editor der sich zum programmieren eignet, eine entsprechende Funktion + Tastenkürzel um das mit #-Zeichen zu machen. Und eine Umkehrfunktion dazu.
Die „Was ist eine Variable“-Beschreibung ist im Grunde falsch, oder führt zumindest später zu unnötig umständlichen Erklärungen um das wieder irgendwie gerade zu biegen. Variablen in Python sind keine Behälter mit Namen wo man Werte/Objekte rein tut, sondern Post-It-Zettel mit Namen, die man auf Werte/Objekte klebt. Sonst muss man nämlich über kurz oder lang erklären können wie ein Objekt in mehreren Behältern gleichzeitig stecken kann.
Der `print()`-Befehl ist keine Befehl. Das war mal in Python 2. Also schon länger Vergangenheit.
„Datentypen“ kann man im Inhaltsverzeichnis anklicken, aber da passiert nicht wirklich etwas. Insbesondere kommt man nicht zu einem Abschnitt über Datentypen.
Bei den Operatoren die als Schlüsselworte umgesetzt sind, wurden welche auf Deutsch übersetzt. Die funktionieren so in Theuton, aber nicht in Python.
Das man ``for``-Schleifen über Sequenzen schreiben kann ist zwar nicht falsch, aber Sequenzen sind bei weitem nicht die einzigen Werte über die man so eine Schleife schreiben kann. Die Abschnitte zu ``for`` und „Iteratoren“ sind sehr oberflächlich und unvollständig bis falsch. Dafür kommt da schon ein Vorgriff auf ``class`` und `__iter__()`, `__next__()`, wobei `__next__()` sehr exotisch ist. So eine Klasse mit den beiden Methoden gehört zur Vollständigkeit irgendwo in den Anhang, wenn man alles andere erklärt hat. Denn so etwas implementiert man nicht in normalen Programmen. Seit ``yield``, also seit jetzt ca. 21 Jahren, schreibt das keiner mehr so umständlich.
`len()` gibt nicht die Anzahl der Elemente in einem Iterator zurück. Die werden „lazy“ ausgewertet, was das Tutorial ja sogar selbst sagst, und es kann unendliche Iteratoren geben. Wie sollte `len()` unter diesen beiden Bedingungen denn sinnvoll funktionieren können?
Das zwischen Schleifen und Iteratoren ein Abschnitt über anonyme Funktionen eingeschoben ist, macht keinen Sinn. Bei den drei Beispielen sind das erste und das letzte Beispiel komplett Banane, also Negativ-Beispiele die zeigen wo man das *nicht* verwenden sollte. Beide Beispiele rufen die definierte ``lambda``-Funktion *sofort* im gleichen Ausdruck auf. Das macht ausserhalb von Code-Golf so überhaupt gar keinen Sinn. Beide Beispiele sind kürzer und leichter verständlich ohne den ``lambda``-Ausdruck. Ebenso das mittlere Beispiel.
Gut das gerade Weihnachten ist, sonst könnte ich mich glatt dazu hinreissen lassen persönlich beleidigend zu werden. `eval()`? ECHT JETZT!!!1!
Der Abschnitt „Exception“ enthält als Einleitungstext exakt den gleichen wie „Iteratoren“. Auch das scheint ein typischer ”KI”-Fehler bei generierten Tutorials zu sein, denn das habe ich jetzt auch schon mehrfach gesehen.
An der Stelle höre ich dann mal auf. Wie gesagt, Weihnachten. Darum spare ich mir zu sagen was ich von Leuten halte, die das Netz mit solchem Müll vollkleistern.
Wenn man ein Python-Tutorial schreibt sollte man ein Tutorial schreiben wollen und Python können, bei dem was da auf der Seite ist, ist mindestens eine dieser Voraussetzungen offensichtlich nicht gegeben.