1. Lektion: Mit Phyton und Thonny vertraut machen - REPL: Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
K (Navigation: Tippfehler korrigiert)
(Informationsquellen)
 
(60 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:Microphyton Kurs 2023]]
+
[[Category:Micropython Kurs 2023]]
  
== Über den Kurs ==
+
== Über den Kurs Teil 1==
== Phyton / Microphyton Übersicht ==
+
Dieser Kurs ist für Programmieranfänger gedacht. Er bietet aber keine oberflächliche Übersicht, sondern soll den Teilnehmern ermöglichen eigene Programme zu schreiben und sich selbstständig weitere Eigenschaften von Phyton/Microphyton zu erarbeiten. Dazu ist es erforderlich selbst zu programmieren. Nur vom Zuschauen kann man keine Programmiersprache lernen. Deshalb wird zu jedem Thema eine Übung angeboten, die es den Teilnehmern ermöglicht sich mit dem Thema vertraut zu machen. Es ist sicherlich sehr hilfreich, wenn man zwischen den Kursabenden selbständig die Themen wiederholt und eigene Varianten ausprobiert.
 +
 
 +
Der erste Teil befasst sich mit der Sprache Microphyton. Die Inhalte sind weitgehend hardwareunabhängig und gelten überwiegend auch für das große Phyton auf dem PC.
 +
 
 +
Im zweiten Teil werden die Themen des ersten Teils vertieft und die Nutzung der integrierten und externer Hardware erarbeitet werden. Hier werden wir auch die WLAN-Fähigkeiten testen. Deshalb kommt der Raspberry Pi Pico W zum Einsatz.
 +
 
 +
== Python / Micropython Übersicht ==
 +
https://python.plainenglish.io/python-and-computer-programming-an-in-depth-introduction-for-beginners-702010f64a12
 +
<blockquote>
 +
<h4>
 +
"Bei Python ist die unterste Sprosse der Leiter, wie bei BASIC, sehr nah am Boden. <br>
 +
Aber anders als bei BASIC ist die oberste Sprosse in den Wolken. <br>
 +
Man kann auch in Python riesige Stücke professioneller Software schreiben."
 +
</h4>
 +
</blockquote>
 +
Ebon Upton in Make 5/23<br>
 +
<br><br>
 +
=== Hauptmerkmale von Python===
 +
 
 +
Werfen wir einen Blick auf einige der Eigenschaften von Python, die es zu einer so vielseitigen und weit verbreiteten Programmiersprache machen:
 +
 
 +
; Lesbarkeit
 +
: Python ist bekannt für seine klare und lesbare Syntax, die dem Englischen sehr ähnlich ist.
 +
; Leicht zu erlernen
 +
: Die gute Lesbarkeit von Python macht es Anfängern relativ leicht, die Sprache zu erlernen und zu verstehen, was der Code bewirkt.
 +
; Vielseitigkeit
 +
: Python ist nicht auf eine bestimmte Art von Tätigkeit beschränkt, sondern kann in vielen Bereichen eingesetzt werden. Ganz gleich, ob Sie sich für Webentwicklung, Aufgabenautomatisierung oder Data Science interessieren, Python hat die richtigen Werkzeuge, um Ihnen dabei zu helfen.
 +
; Umfangreiche Bibliotheksunterstützung
 +
: Python wird mit einer umfangreichen Standardbibliothek geliefert, die vorgefertigten Code für verschiedene Aufgaben enthält und Ihnen Zeit und Mühe erspart. Darüber hinaus hat die lebhafte Python-Gemeinschaft Tausende von Paketen von Drittanbietern entwickelt, die die Funktionalität von Python noch erweitern.
 +
; Plattformunabhängigkeit
 +
: Das Tolle an der Sprache ist, dass Sie Ihren Code einmal schreiben und ihn auf jedem Betriebssystem ausführen können. Diese Eigenschaft macht Python zu einer guten Wahl, wenn Sie auf einem Computer mit mehreren Betriebssystemen arbeiten.
 +
;Interpretierte Sprache
 +
: Python ist eine interpretierte Sprache, was bedeutet, dass der Code Zeile für Zeile ausgeführt wird. Dies kann die Fehlersuche erleichtern, da Sie kleine Codeschnipsel testen können, ohne das gesamte Programm kompilieren zu müssen.
 +
; Freier und offener Quellcode
 +
: Es handelt sich auch um eine Open-Source-Sprache, was bedeutet, dass ihr Quellcode frei verfügbar ist und weitergegeben und verändert werden kann. Dies hat zu einer großen Gemeinschaft von Entwicklern geführt, die zu ihrer Entwicklung beitragen und ein großes Ökosystem von Python-Bibliotheken geschaffen haben.
 +
; Dynamischer Typ
 +
: Python ist dynamisch typisiert, d. h. Sie müssen den Datentyp einer Variablen nicht angeben, wenn Sie sie erstellen. Der Python-Interpreter schlussfolgert den Typ, wodurch der Code flexibler und leichter zu ändern ist.
 +
Quelle: https://codegirljs.medium.com/how-to-learn-python-from-scratch-in-2023-an-expert-guide-ae95ef601528
 +
==== Python ist einfach:====
 +
===== Hello World in C:=====
 +
<pre>
 +
#include <stdio.h>
 +
int main() {
 +
  printf("Hello, World!");
 +
  return 0;
 +
}
 +
</pre>
 +
===== Hello World in C++:=====
 +
<pre>
 +
#include <iostream>
 +
int main() {
 +
    std::cout << "Hello World!";
 +
    return 0;
 +
}
 +
</pre>
 +
 
 +
===== Hello World in Java:=====
 +
<pre>
 +
class HelloWorld {
 +
    public static void main(String[] args) {
 +
        System.out.println("Hello, World!");
 +
    }
 +
}
 +
</pre>
 +
===== hello World in Python:=====
 +
<pre>
 +
print('Hello, world!')
 +
</pre>
 
* Interpreter / Scriptsprache
 
* Interpreter / Scriptsprache
* nicht typisiert (neuerdings möglich)
 
 
* Objektorientiert
 
* Objektorientiert
 
** man muss aber nicht OOP programmieren
 
** man muss aber nicht OOP programmieren
** Alles ist ein Objekt
 
 
** OOP-Notation findet man ständig
 
** OOP-Notation findet man ständig
* aktuell 3.11
+
** Alles ist ein Objekt
* Microphyton basiert auf Phyton 3.4 / 3.5
+
** Identität eines Objekts mit id() ermitteln.
* Microphyton aktuell Version 1.20
+
*** Einige Beispiele:
* M5Stack-Firmware basiert auf Microphyton 1.12
+
<pre>
* Phyton ist einfach
+
>>> id(1)
** nur wenige Schlüsselworte (Keywords)
+
3
** aber mächtig durch Module (Bibliotheken)
+
>>> id(42)
* Lesbarkeit
+
85
** Einrückungen
+
>>> id(print)
** Style Guide for Phyton Code (PEP8)
+
268776720
*** Phyton Enhancement Proposals = Vorschläge zur Verbesserung von Phyton
+
>>>
** Phytonisch
+
</pre>
 +
* Python ist aktuell Version 3.12
 +
* Micropython basiert auf Python 3.4 und Teilen aus 3.5, seit 1.18 wurden immer mehr Funktionen aus den neueren Python Versionen übernommen (1.21 -> 3.10).
 +
* Micropython aktuell Version 1.21
 +
* M5Stack-Firmware basiert auf Micropython 1.12
 +
<br>
 +
 
 +
===== Pythonisch=====
 +
* Style Guide for Python Code (PEP8)
 +
** Python Enhancement Proposals = Vorschläge zur Verbesserung von Python
 +
*** https://peps.python.org/pep-0008/
 +
*** https://dashing-account-ee9.notion.site/PEP-8-deutsch-76118c4408714653be2a3750ed5bcf5b?pvs=4
 +
 
 
=== Informationsquellen===
 
=== Informationsquellen===
 +
Bei der Informationssuche ist zu beachten, dass Micropython auf Python 3 beruht. Im Netz kursieren aber auch noch Anleitungen für Python2. Diese können funktionieren, müssen aber nicht.
 +
Weiterhin sind viele Anleitungen für die neueren Python Versionen (3.10, 3.11) zu finden. Diese funktionieren meist auch nicht, weil sie Eigenschaften behandeln, die in Micropython noch nicht implementiert sind (switch, f-String). Micropython basiert auf Python 3.4 und Teilen von 3.5.
 +
<br>
 
* Bücher
 
* Bücher
 +
** https://openbook.rheinwerk-verlag.de/python/
 
* Internet
 
* Internet
 
** [https://docs.micropython.org/ https://docs.micropython.org/]
 
** [https://docs.micropython.org/ https://docs.micropython.org/]
** [https://www.phyton-lernen.de https://www.phyton-lernen.de]
+
** [https://jobtensor.com/Tutorial/Python/de/Einf%C3%BChrung https://jobtensor.com/Tutorial/Python/de/Einführung]
 +
** [https://www.python-lernen.de https://www.python-lernen.de]
 
** [https://www.python-kurs.eu/ https://www.python-kurs.eu/]
 
** [https://www.python-kurs.eu/ https://www.python-kurs.eu/]
 
** [https://lernenpython.com/ https://lernenpython.com//]
 
** [https://lernenpython.com/ https://lernenpython.com//]
Zeile 31: Zeile 113:
 
** [https://www.w3schools.com/python/ https://www.w3schools.com/python/]
 
** [https://www.w3schools.com/python/ https://www.w3schools.com/python/]
 
** [https://www.programiz.com/python-programming https://www.programiz.com/python-programming]
 
** [https://www.programiz.com/python-programming https://www.programiz.com/python-programming]
 +
** https://bhave.sh/
 +
Kurs im Internet:
 +
* https://user.phil.hhu.de/~seyffarth/classes/python2020/
 +
** Ein Kurs der Uni Düsseldorf zu Python mit Videos. Dieser Kurs ist von 2020, also während Corona entstanden wohl um die Studenten weiter unterrichten zu können.
 +
 +
== Micropython installieren==
 +
Micropython kann von https://micropython.org/download/ herunter geladen werden.
 +
<br>
 +
Dort kann man die geeignete Version heraus suchen und downloaden.
 +
<br><br>
 +
Beim Raspberry Pi Pico W wird das .uf2 File vom PC auf den Pico hochgeladen.
 +
<br><br>
 +
Beim ESP32 kann das aufspielen des Micropython mit Thonny erfolgen.<br>
 +
Zum installieren von Micropython auf dem ESP32-Board muss beim Hochladen die Boot-Taste gedrückt gehalten werden.
 +
<br><br>
 +
Ein Update des Micropython kann bei beiden Geräten mit Thonny erfolgen.
 +
<br><br>
  
 
== Thonny ==
 
== Thonny ==
Zeile 48: Zeile 147:
  
 
=== Thonny installieren ===
 
=== Thonny installieren ===
Nur kurz beschreiben.
+
Aktuelle Version 4.1.3
Alle müssen zu Beginn des Kurses ein lauffähiges Thonny auf ihrem Laptop haben!
+
<br>
 +
Die Installation von Thonny ist ein Selbstgänger.
 +
 
 
* Windows
 
* Windows
 
** Das Programm von [https://thonny.org https://thonny.org] herunterladen
 
** Das Programm von [https://thonny.org https://thonny.org] herunterladen
 
** Programm starten
 
** Programm starten
 +
** Lizenz akzeptieren
 
** Fertig
 
** Fertig
 
*** Das Zielverzeichnis lässt sich nicht auswählen
 
*** Das Zielverzeichnis lässt sich nicht auswählen
Zeile 65: Zeile 167:
 
*** Terminalfenster
 
*** Terminalfenster
 
**** Navigieren mit Hoch- und Runtertaste  
 
**** Navigieren mit Hoch- und Runtertaste  
**** "_" holt den letzten Wert
 
 
*** Dateifenster
 
*** Dateifenster
 
* Werkzeuge/Optionen.../Interpreter
 
* Werkzeuge/Optionen.../Interpreter
** Vor Start des Skripts Interpreter neu starten abschalten
+
** Micropython installieren / updaten
 +
*** Boot Taste drücken
 +
** Vor Start des Skripts Interpreter neu starten abschalten?
 
** Gerät auswählen
 
** Gerät auswählen
 +
** System aufspielen
 
* Erstes Programm: Begrüßung.py
 
* Erstes Programm: Begrüßung.py
 +
<pre>
 +
name = input('Gebe bitte Deinen Namen ein: ')
 +
ausgabe = 'Hallo ' + name
 +
print(ausgabe)
 +
</pre>
 +
 +
===== Python mit Thonny=====
 +
Thonny bietet eine einfache Möglichkeit Module zu laden:
 +
<br>
 +
https://kofler.info/modulverwaltung-in-thonny/
 +
 +
==== Thonny Wiki====
 +
https://github.com/thonny/thonny/wiki
  
 
=== Die REPL ===
 
=== Die REPL ===
* Read Modify Print Loop / EVA
+
* Read Evaluate Print Loop / EVA
 
** Interaktiv mit dem Interpreter kommunizieren.
 
** Interaktiv mit dem Interpreter kommunizieren.
 +
** "_" holt den letzten Wert
 +
 +
=== Das Filesystem von Micropython===
 +
Micropython erstellt im Flash ein Filesystem in dem mit Dateien genau so gearbeitet werden kann wie mit der Festlatte im PC. Einige dieser Funktionen werden auch von Thonny unterstützt. Weitere Funktionen befinden sich im Module os. Wer mit der Kommandozeile vertraut ist wird sich damit sofort zurecht finden. Einzelheiten dazu werden wir in einer späteren Lektion behandeln.
  
 
==Navigation==
 
==Navigation==
[[Micropython Kurs 2023|Zurück zur "Microphyton Kurs 2023" Startseite]]<br>
+
[[Micropython_Kurs_2023_-_Teil_1|Zurück zu Micropython Kurs 2023 - Teil 1]]<br>
 +
[[Micropython Kurs 2023|Zurück zur "Micropython Kurs 2023" Startseite]]<br>
 
[[Programmieren|Zurück zur Programmieren Startseite]]<br>
 
[[Programmieren|Zurück zur Programmieren Startseite]]<br>
 
[[Attraktor_Wiki|Zurück zur Wiki Startseite]]<br>
 
[[Attraktor_Wiki|Zurück zur Wiki Startseite]]<br>

Aktuelle Version vom 7. Januar 2024, 12:05 Uhr


Über den Kurs Teil 1

Dieser Kurs ist für Programmieranfänger gedacht. Er bietet aber keine oberflächliche Übersicht, sondern soll den Teilnehmern ermöglichen eigene Programme zu schreiben und sich selbstständig weitere Eigenschaften von Phyton/Microphyton zu erarbeiten. Dazu ist es erforderlich selbst zu programmieren. Nur vom Zuschauen kann man keine Programmiersprache lernen. Deshalb wird zu jedem Thema eine Übung angeboten, die es den Teilnehmern ermöglicht sich mit dem Thema vertraut zu machen. Es ist sicherlich sehr hilfreich, wenn man zwischen den Kursabenden selbständig die Themen wiederholt und eigene Varianten ausprobiert.

Der erste Teil befasst sich mit der Sprache Microphyton. Die Inhalte sind weitgehend hardwareunabhängig und gelten überwiegend auch für das große Phyton auf dem PC.

Im zweiten Teil werden die Themen des ersten Teils vertieft und die Nutzung der integrierten und externer Hardware erarbeitet werden. Hier werden wir auch die WLAN-Fähigkeiten testen. Deshalb kommt der Raspberry Pi Pico W zum Einsatz.

Python / Micropython Übersicht

https://python.plainenglish.io/python-and-computer-programming-an-in-depth-introduction-for-beginners-702010f64a12

"Bei Python ist die unterste Sprosse der Leiter, wie bei BASIC, sehr nah am Boden.
Aber anders als bei BASIC ist die oberste Sprosse in den Wolken.
Man kann auch in Python riesige Stücke professioneller Software schreiben."

Ebon Upton in Make 5/23


Hauptmerkmale von Python

Werfen wir einen Blick auf einige der Eigenschaften von Python, die es zu einer so vielseitigen und weit verbreiteten Programmiersprache machen:

Lesbarkeit
Python ist bekannt für seine klare und lesbare Syntax, die dem Englischen sehr ähnlich ist.
Leicht zu erlernen
Die gute Lesbarkeit von Python macht es Anfängern relativ leicht, die Sprache zu erlernen und zu verstehen, was der Code bewirkt.
Vielseitigkeit
Python ist nicht auf eine bestimmte Art von Tätigkeit beschränkt, sondern kann in vielen Bereichen eingesetzt werden. Ganz gleich, ob Sie sich für Webentwicklung, Aufgabenautomatisierung oder Data Science interessieren, Python hat die richtigen Werkzeuge, um Ihnen dabei zu helfen.
Umfangreiche Bibliotheksunterstützung
Python wird mit einer umfangreichen Standardbibliothek geliefert, die vorgefertigten Code für verschiedene Aufgaben enthält und Ihnen Zeit und Mühe erspart. Darüber hinaus hat die lebhafte Python-Gemeinschaft Tausende von Paketen von Drittanbietern entwickelt, die die Funktionalität von Python noch erweitern.
Plattformunabhängigkeit
Das Tolle an der Sprache ist, dass Sie Ihren Code einmal schreiben und ihn auf jedem Betriebssystem ausführen können. Diese Eigenschaft macht Python zu einer guten Wahl, wenn Sie auf einem Computer mit mehreren Betriebssystemen arbeiten.
Interpretierte Sprache
Python ist eine interpretierte Sprache, was bedeutet, dass der Code Zeile für Zeile ausgeführt wird. Dies kann die Fehlersuche erleichtern, da Sie kleine Codeschnipsel testen können, ohne das gesamte Programm kompilieren zu müssen.
Freier und offener Quellcode
Es handelt sich auch um eine Open-Source-Sprache, was bedeutet, dass ihr Quellcode frei verfügbar ist und weitergegeben und verändert werden kann. Dies hat zu einer großen Gemeinschaft von Entwicklern geführt, die zu ihrer Entwicklung beitragen und ein großes Ökosystem von Python-Bibliotheken geschaffen haben.
Dynamischer Typ
Python ist dynamisch typisiert, d. h. Sie müssen den Datentyp einer Variablen nicht angeben, wenn Sie sie erstellen. Der Python-Interpreter schlussfolgert den Typ, wodurch der Code flexibler und leichter zu ändern ist.

Quelle: https://codegirljs.medium.com/how-to-learn-python-from-scratch-in-2023-an-expert-guide-ae95ef601528

Python ist einfach:

Hello World in C:
#include <stdio.h>
int main() {
   printf("Hello, World!");
   return 0;
}
Hello World in C++:
#include <iostream>
int main() {
    std::cout << "Hello World!";
    return 0;
}
Hello World in Java:
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!"); 
    }
}
hello World in Python:
print('Hello, world!')
  • Interpreter / Scriptsprache
  • Objektorientiert
    • man muss aber nicht OOP programmieren
    • OOP-Notation findet man ständig
    • Alles ist ein Objekt
    • Identität eines Objekts mit id() ermitteln.
      • Einige Beispiele:
>>> id(1)
3
>>> id(42)
85
>>> id(print)
268776720
>>>
  • Python ist aktuell Version 3.12
  • Micropython basiert auf Python 3.4 und Teilen aus 3.5, seit 1.18 wurden immer mehr Funktionen aus den neueren Python Versionen übernommen (1.21 -> 3.10).
  • Micropython aktuell Version 1.21
  • M5Stack-Firmware basiert auf Micropython 1.12


Pythonisch

Informationsquellen

Bei der Informationssuche ist zu beachten, dass Micropython auf Python 3 beruht. Im Netz kursieren aber auch noch Anleitungen für Python2. Diese können funktionieren, müssen aber nicht. Weiterhin sind viele Anleitungen für die neueren Python Versionen (3.10, 3.11) zu finden. Diese funktionieren meist auch nicht, weil sie Eigenschaften behandeln, die in Micropython noch nicht implementiert sind (switch, f-String). Micropython basiert auf Python 3.4 und Teilen von 3.5.

Kurs im Internet:

Micropython installieren

Micropython kann von https://micropython.org/download/ herunter geladen werden.
Dort kann man die geeignete Version heraus suchen und downloaden.

Beim Raspberry Pi Pico W wird das .uf2 File vom PC auf den Pico hochgeladen.

Beim ESP32 kann das aufspielen des Micropython mit Thonny erfolgen.
Zum installieren von Micropython auf dem ESP32-Board muss beim Hochladen die Boot-Taste gedrückt gehalten werden.

Ein Update des Micropython kann bei beiden Geräten mit Thonny erfolgen.

Thonny

  • Was ist Thonny
    • Programme für Phyton schreiben:
      • Editor
        • Windows Editor
        • notepad++
        • Sublime Text
        • Atom
      • IDE
        • Mu Editor
        • µPyCraft IDE
        • Thonny
        • PyCharm
      • Visual Studio Code

Thonny installieren

Aktuelle Version 4.1.3
Die Installation von Thonny ist ein Selbstgänger.

Thonny kennenlernen

  • Einführung in Thonny
    • Die verschiedenen Bereiche und ihre Verwendung
      • Editorfenster
      • Terminalfenster
        • Navigieren mit Hoch- und Runtertaste
      • Dateifenster
  • Werkzeuge/Optionen.../Interpreter
    • Micropython installieren / updaten
      • Boot Taste drücken
    • Vor Start des Skripts Interpreter neu starten abschalten?
    • Gerät auswählen
    • System aufspielen
  • Erstes Programm: Begrüßung.py
name = input('Gebe bitte Deinen Namen ein: ')
ausgabe = 'Hallo ' + name
print(ausgabe)
Python mit Thonny

Thonny bietet eine einfache Möglichkeit Module zu laden:
https://kofler.info/modulverwaltung-in-thonny/

Thonny Wiki

https://github.com/thonny/thonny/wiki

Die REPL

  • Read Evaluate Print Loop / EVA
    • Interaktiv mit dem Interpreter kommunizieren.
    • "_" holt den letzten Wert

Das Filesystem von Micropython

Micropython erstellt im Flash ein Filesystem in dem mit Dateien genau so gearbeitet werden kann wie mit der Festlatte im PC. Einige dieser Funktionen werden auch von Thonny unterstützt. Weitere Funktionen befinden sich im Module os. Wer mit der Kommandozeile vertraut ist wird sich damit sofort zurecht finden. Einzelheiten dazu werden wir in einer späteren Lektion behandeln.

Navigation

Zurück zu Micropython Kurs 2023 - Teil 1
Zurück zur "Micropython Kurs 2023" Startseite
Zurück zur Programmieren Startseite
Zurück zur Wiki Startseite

Diese Seite wurde zuletzt am 7. Januar 2024 um 12:05 Uhr geändert. Diese Seite wurde bisher 3.693 mal abgerufen.