Python lernen, wie?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
maowmaow
User
Beiträge: 18
Registriert: Freitag 7. August 2020, 10:30

Hey die Frage sagt es eigentlich auch schon.

Aktuell bin ich noch an der Vorbereitzungsphase sozusagen. Ich weiß nicht wie ichs so richtig angehen soll und habe noch einige offene Fragen/Baustellen:

- welche Entwickleroberfläche bietet sich an (Ich möchte für die Arbeit (windoof_Rechner) irgendwann ausführbare Programme/Skripte schreiben/geschrieben haben, die was taugen - und zwar mit grafischer Oberfläche
- gab es da nicht ein neuerdings kostenloses Einsteigerbuch um Python zu lernen ?
- taugen die youtube-Videos die man findet?
- was ist aus den ehemaligen codecademy-python-kurs geworden? Das war doch mal alles umsonst, jetzt muss man pro/deluxe/weißdergeierwas/im Golfclub sein damit man das nutzen kann - kennt wer gute Alternativen?
Benutzeravatar
sparrow
User
Beiträge: 4506
Registriert: Freitag 17. April 2009, 10:28

maowmaow hat geschrieben: Montag 10. August 2020, 05:58- welche Entwickleroberfläche bietet sich an (Ich möchte für die Arbeit (windoof_Rechner) irgendwann ausführbare Programme/Skripte schreiben/geschrieben haben, die was taugen - und zwar mit grafischer Oberfläche
Deine Entwickleroberfläche hat nichts damit zu tun, dass dein Programm hinterher eine GUI hat.
Ich benutze zum Programmieren einen belieben Editor mit Syntax-Highlighting und ausführen tue ich die Programme auf der Konsole. Das rate ich auch dir zum Einstieg, damit du dich in Ruhe mit dem Ökosystem von Python vertraut machen kannst. Es gibt keinen Zwang, eine IDE zu verwenden. Ich tendiere sogar eher zum Gegenteil - gerade zum Anfang. Wenn du eine IDE verwendest musst du nicht nur Python lernen sondern dich zusätzlich auch mit den Eigenheiten der IDE auseinander setzen. Meine Prioritäten würden da nicht liegen.

Was die Programmierung einer Benutzeroberfläche angeht: GUIs sind nicht trivial. Versteh erst einmal die Grundlagen von Python. Wenn das sitzt, kannst du dich mit Oberflächen beschäftigen.
maowmaow hat geschrieben: Montag 10. August 2020, 05:58- gab es da nicht ein neuerdings kostenloses Einsteigerbuch um Python zu lernen ?
Guter Einstiegspunkt ist das Tutorial in der offiziellen Python-Dokumentation.
Von vornherein kannst du auch gleich PEP 8 verinnerlichen.
maowmaow hat geschrieben: Montag 10. August 2020, 05:58- taugen die youtube-Videos die man findet?
Welches von den beiden Videos meinst du denn?
Ich weiß nicht, ob dieser Trend nach Videos zu lernen gut ist. Für mich ist das nichts. Ich will Dinge nachschlagen können.


Ansonsten ist der Einstieg in Python hier im Forum schon gut diskutiert worden. Ich bin mir sicher, dass du entsprechende Themen findest.
nezzcarth
User
Beiträge: 1734
Registriert: Samstag 16. April 2011, 12:47

Als kostenfreies Einsteigerbuch empfehle ich gerne "Think Python" (http://greenteapress.com/thinkpython2/html/index.html). Davon geistern im Netz verschiedene Variante herum (teilweise unter dem Namen "Think like a Computer Scientist"); das ist hoffentlich die aktuellste. In dem Buch wird zwar Python vermittelt, jedoch sehe ich es eher als allgemeines Programmier-Lehrbuch an.
christheturtle
User
Beiträge: 42
Registriert: Sonntag 29. September 2019, 12:36

Ich kann dir die W3Schools Tutorials empfehlen. Die sind meiner Meinung nach angenehm strukturiert.
https://www.w3schools.com/python/default.asp

Wenn du systemunabhängig direkt loslegen willst, kannst du z.B. mit Google Colab direkt online mit Python rumspielen...
https://colab.research.google.com/

Viel Spaß! :)
Benutzeravatar
__blackjack__
User
Beiträge: 13927
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

w3schools sieht mehrzeilige Zeichenketten als Möglichkeit mehrzeilige Kommentare zu schreiben weil Python die angeblich einfach ignoriert. Stimmt nicht überall und spätestens wenn man Dokumentation aus dem Quelltext ziehen will, wird man damit auf die Nase fallen, weil solche ”Kommentare” halt *doch* eine besondere Bedeutung haben und keine Kommentare sind. Bei einigen Dokumentationswerkzeugen, darunter auch *das* Standardwerkzeug Sphinx, auch nicht nur an den Stellen wo DocStrings aus Sicht der Python-Sprachspezifikation stehen dürfen.

``global`` wird ziemlich früh eingeführt, die Funktionsweise erklärt, und nix weiter dazu gesagt.

Es werden verschiedene Variablenschreibweise ausschliesslich unter dem Aspekt was gültige Namen in Python sind, beschrieben, und kein Wort wofür welche Schreibweise verwendet wird, und welche man nicht verwendet.

`my` ist ein sehr beliebter Namenszusatz in den Beispielen.

Bei Tupeln wird der Eindruck erweckt die runden Klammern hätten da eine besondere Bedeutung.

Dann geben die eine Tabelle wie man den Datentyp spezifizieren kann, mit so tollen Beispielen: ``x = str("Hello World")``, ``x = int(20)``, und ``x = float(20.5)``. Vielleicht ist das die Quelle für diesen Unsinn?

Der Abschnitt zum ``else`` zu ``for``-Loops sagt nur, dass das einen Block angibt der ausgeführt wird wenn die Schleife abgearbeitet wurde. Als wenn das *immer* passieren würde, Keine Erwähnung von ``break`` und mit folgendem Beispiel:

Code: Alles auswählen

for x in range(6):
  print(x)
else:
  print("Finally finished!")
(Ja, die Code-Beispiele sind alle mit zwei Leerzeichen pro Ebene eingerückt.)

Das Kapitel „Python Arrays“ ist schräg. Das sagt es gibt keine Arrays in Python, aber man kann Listen dafür benutzen, und dann werden da noch mal die Listen-Operationen beschrieben, aber die Listen werdne im Text als Arrays bezeichnet. Häh?

Bei Klassen wird von „properties“ gesprochen wenn ganz normale Datenattribute gemeint sind, also keine Properties im Sinne von `property()`, was ich ja mal megaverwirrend und irreführend finde.

Dann steht da mit ``del p1`` würde man das Objekt löschen. Argh. Ich warte auf die Beschreibung vom ”Destruktor”…

Das Iteratorbeispiel ist im Grunde falsch weil bei jedem `iter()`-Aufruf mit dem Iterator selbt der Iterator wieder zurück gesetzt wird, was kein Iterator aus der Standardbibliothek tut und auch kein anderer den ich kenne. Dafür verlassen sich Funktionen/Methoden inner- und ausserhalb der Standardbibliothek darauf, dass das *nicht* passiert.

Bei Dateien werden erst viele Beispiele gezeigt bei denen die Datei nicht wieder geschlossen wird, um dann beim letzten Beispiel zu `close()` zu zeigen und zu erwähnen wie wichtig das ist, dass man Dateien auch wieder schliesst. Kein ``with`` in Sicht. Und im folgenden wird das `close()` in den Beispielen dann auch gerne wieder weggelassen. Teilweise nur teilweise.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
Benutzeravatar
pintman
User
Beiträge: 39
Registriert: Freitag 2. Dezember 2005, 20:43
Kontaktdaten:

__blackjack__ hat geschrieben: Freitag 14. August 2020, 11:02 Dann geben die eine Tabelle wie man den Datentyp spezifizieren kann, mit so tollen Beispielen: ``x = str("Hello World")``, ``x = int(20)``, und ``x = float(20.5)``. Vielleicht ist das die Quelle für diesen Unsinn?
Danke für den Hinweis. Ich sehe das leider auch immer wieder bei meinem Azubis/Schüler*innen.
Antworten