Seite 1 von 1

Python und Django-Grundlagen (englisch)

Verfasst: Sonntag 25. Mai 2025, 19:56
von steveO_O

Re: Python und Django-Grundlagen (englisch)

Verfasst: Freitag 30. Mai 2025, 17:01
von noisefloor
... und unvollständig. Z.B. gibt es nichts zu Klassen. Bei Funktionen ist zumindest in der geschriebenen Version nichts über named arguments und positional arguments zu finden.

Bei Django ist, soweit ich das sehe, das Admin-Backend gar nicht erwähnt.

Gruß, noisefloor

Re: Python und Django-Grundlagen (englisch)

Verfasst: Montag 9. Juni 2025, 11:31
von steveO_O
Was für ein sinnloser, unnötiger Kommentar. Dazu noch schlecht recherchiert.

Re: Python und Django-Grundlagen (englisch)

Verfasst: Montag 9. Juni 2025, 16:17
von noisefloor
Hallo,

kann ja jeder behaupten. Hast du irgendwas, was deine Behauptungen stützt? Z.B. einen Link auf den Teil des Python-Tutorials, der Klassen erklärt? Oder einen Link auf den Teil des Django-Tutorials, der das Admin-Backend erklärt?

Gruß, noisefloor

Re: Python und Django-Grundlagen (englisch)

Verfasst: Dienstag 10. Juni 2025, 15:30
von steveO_O
Meine Behauptungen stützen? Als wenn ich hier irgendwie motiviert wäre Gerüchte in die Welt zu setzen und andere Neulinge auf die Seiten zu locken :lol: :lol: Insgeheim verdiene ich nämlich auf Umwegen Geld mit diesen Seiten.

Aber gut, weil du so nett fragst:

https://www.py4e.com/lessons/Objects

https://www.dj4e.com/lessons/dj4e_users

Re: Python und Django-Grundlagen (englisch)

Verfasst: Mittwoch 11. Juni 2025, 10:08
von __blackjack__
Meh, `__init__` und `__del__` sind nicht „Konstruktor“ und „Destruktor“ und es fehlt der wirklich wichtige Hinweis, dass der `__del__`-Aufruf nicht garantiert ist, und das deshalb nahezu nutzlos ist, was der Grund ist, warum das sehr selten implementiert wird. IMHO sollte man `__del__` in einem Tutorial für Anfänger gar nicht erwähnen. Da kann der Anfänger ja gar nix mit anfangen, aber er kann auf die Idee kommen das zu nutzen.

Die Beispielklassen sind auch alle recht sinnfrei, das heisst man lernt nur wie das syntaktisch geschrieben wird, aber nicht wo der Einsatz sinnvoll ist und insbesondere auch nicht wo das keinen Sinn macht. Das Klassen mit einem Attribut und einer Methode zusätzlich zur `__init__()` beispielsweise komisch riechen und sehr oft nur eine unnötig kompliziert ausgedrückte Funktion sind.

Re: Python und Django-Grundlagen (englisch)

Verfasst: Mittwoch 11. Juni 2025, 15:27
von geraldfo
__blackjack__ hat geschrieben: Mittwoch 11. Juni 2025, 10:08 Die Beispielklassen sind auch alle recht sinnfrei
Das ist leider in fast allen Lernunterlagen so.

Re: Python und Django-Grundlagen (englisch)

Verfasst: Mittwoch 11. Juni 2025, 15:56
von __blackjack__
@geraldfo: Naja wirklich so komplett sinnfrei? Oft gibt es ja Beispiele mit Autos/Fahrzeugen, Tieren, oder Bankkonten die auch nicht so toll sind, aber eben doch wenigstens mehrere Merkmale pro Datentyp zusammenfassen und für die Beispiele sinnvolles Verhalten zeigen, und auch bei der Vererbung was nachvollziehbares haben. Also wo man mindestens mal eine Idee davon bekommt, was es mit OOP auf sich hat.

Re: Python und Django-Grundlagen (englisch)

Verfasst: Mittwoch 11. Juni 2025, 16:43
von snafu
Habe nun auch mal kurz in den Abschnitt zu OOP reingeguckt. Das Beispiel ist etwas oberflächlich und die Interna mit type() und dir() halte ich nicht für anfängerfreundlich. Eine Erklärung der Philosophie hinter OOP wäre natürlich wünschenswert. Dieser Part fällt aber auch bei anderen Tutorials eher mager aus.

Klassen werden in Python da spannend, wo ich mit Dunder-Methoden arbeite oder per @classmethod einen alternativen Konstruktor bauen kann oder mittels @property auf dynamische Weise einen Attributzugriff implementiere. Bei einem Bankkonto wäre eine sinnvolle Implementierung von __str__(), __add__() und __sub__() ganz hilfreich. Habe ich aber bisher in keinem Tutorial finden können. Wobei ich auch nicht 34653645 Stück gelesen habe.

Gut durchdachte Klassen zeichnen sich IMHO auch dadurch aus, dass sie möglichst Methoden ohne Argumente anbieten oder bei Argumenten auch noch zusätzlich Gebrauch von den Instanzattributen machen. Wenn das am Ende nur eine als Klasse verkleidete Funktionssammlung ist, dann hat man das Konzept nicht wirklich verstanden.

Re: Python und Django-Grundlagen (englisch)

Verfasst: Mittwoch 11. Juni 2025, 16:51
von __blackjack__
Ich würde sagen Klassen wären schon mit deutlich weniger OOP interessant, weil es sonst keinen Verbunddatentyp in Python gibt. Da wo man in Sprachen ohne explizite OOP-Unterstützung so etwas wie RECORD, struct, TYPE oder ähnliches hat, braucht man in Python ja schon eine Klasse, auch wenn man die dann nicht für OOP verwendet. collections.namedtuple() als Funktion mal nicht mitgezählt, wobei auch das ja letztendlich dynamisch eine Klasse erstellt.

Re: Python und Django-Grundlagen (englisch)

Verfasst: Mittwoch 11. Juni 2025, 16:57
von snafu
Naja, die größte Ähnlichkeit zu einem Struct weist doch ein Wörterbuch auf. Damit kann man auf sehr simple Weise einen Verbund von benannten Werten bauen.

Re: Python und Django-Grundlagen (englisch)

Verfasst: Mittwoch 11. Juni 2025, 21:06
von __blackjack__
@snafu: Ein Struct ist ein Datentyp. Ein Struct `Point` ist ein anderer Typ als ein Struct `Account`. Wenn man diese beiden Dinge als Wörterbücher repräsentiert, haben beide den gleichen Typ. Und ein Struct hat einen festen Satz an Attributen. Ein Wörterbuch ist da beliebiger. Der Schritt von einem Struct zu einer Klasse ist auch kürzer, so wie das in Python von einer Datenklasse zu einer ”richtigen” Klasse ist, als wenn man vorher eine Abbildung von Zeichenketten zu Werten hat.

Re: Python und Django-Grundlagen (englisch)

Verfasst: Donnerstag 12. Juni 2025, 22:06
von steveO_O
Mir haben die Videos sehr geholfen.