Informatik-Python-Einstieg
Ein kleines Python-Projekt für die Informatikstunde, das einen Teil der Grundlagen vermittelt.
Ziel der 1.Stunde:
Konzept
- Programmierung verstehen
- In einen Chatbot integrieren
Python Grundlagen
| Beschreibung | Syntax |
|---|---|
| Ausgaben | print() |
| Eingaben | input() |
| Variablen | number = 1 |
| Bedingungen | if, elif, else |
| While-Schleife | while True: |
Ziel der 2.Stunde:
Konzept
- Weitere Grundlagen
Python Grundlagen
| Beschreibung | Syntax |
|---|---|
| Funktionen | def function(): |
| Klassen | class Klasse(): |
| weitere Variablen | list, dict |
| For-Schleife | for i in range(10): |
| Bibliotheken-Import | import time |
Ziel der 3.Stunde:
Konzept
- Entwicklung eines Python-Projekts
- Eigenständiges kreatives Anwenden der Grundlagen
Projektideen
- Chatbot
- Taschenrechner
- Zahlenraten
Zusätzliche Inhalte
Wo wird Python eingesetzt?
Python ist eine wichtige Programmiersprache und kommt in sehr vielen Bereichen zum Einsatz. Dazu zählt nicht nur die klassische Softwareentwicklung, sondern, unter anderem, auch die Entwicklung von Firmware, zum Beispiel für Microcontroller, und die Automatisierung und das Skripting innerhalb von Programmen (so bieten beispielsweise KiCad und Blender Python-Konsolen). So ist Python für mehr Leute nützlich, als man annehmen würde.
Woher kommt der Name Python?
Der Name geht nicht, wie das Logo vermuten lässt, auf die gleichnamige Schlangengattung Python zurück, sondern bezog sich ursprünglich auf die englische Komikergruppe Monty Python. In der Dokumentation finden sich daher auch einige Anspielungen auf Sketche aus dem Flying Circus. Trotzdem etablierte sich die Assoziation zur Schlange, was sich unter anderem in der Programmiersprache Cobra sowie dem Python-Toolkit „Boa“ äußert.
Funktionen
- In Python werden Funktionen mit
defdefiniert - In Python nutzt man oft Klassen
class, um Funktionen zu organisieren bzw. um Objekte zu erstellen. - Funktionen werden, wie auch if- / else-Conditions mit einem ":" zwischen Deklaration und Body getrennt
Keywords in Python
| Keyword | Beschreibung |
|---|---|
| if | Klassische if-Condition, der folgende Code wird ausgeführt, wenn die Condition True ist (Beispiel: if True: print("The if-Condition was met")) |
| elif | Eine if-Condition, die ausgeführt wird, wenn sie selbst True ist und alle vorherigen False waren, also nicht ausgeführt wurden (Beispiel: if False: print("Doesn't occur"); elif True: print("The if condition was skipped and the elif was True")) |
| else | Wenn alle vorherigen if-Conditions nicht eintreten, wird das else-Statement ausgelöst. Es ist sozusagen ein "sonst". |
| for | Der folgende Code wird für jedes Element in der Länge der gegebenen Basis ausgeführt. So wird bei for i in 20: print("i"), jede Zahl zwischen 1 und zwanzig geprintet. |
| while | Der folgende Code wird ausgeführt, solange wie eine Condition True ist. Endet die Codesequenz, wird am Anfang gestartet. Es sollte ein delay eingebaut werden, da der Code sonst unkontrolliert schnell ausgeführt wird. Bei while True: print("Running") wird der Code permanent ausgeführt, es sollte aber eine Verzögerung eingebaut werden. |
| pass | Ein Nullstatement, das übergangen wird. So passiert beim Ausführen der Funktion def nothingHappens(): pass nichts, es wird aber, anders, als bei einem leeren Funtion-Body, auch kein Fehler angezeigt. |
| try | Das Programm soll bei 'Try' probieren, etwas bestimmtes zu tun. Scheitert es lässt sich mit except eine Ausnahme und zugehörige Anweisungen hinzufügen. |
| except | Wenn ein Versuch (try) scheitert, lassen sich so eine Ausnahme hinzufügen und Anweisungen hinterlegen. |
| raise | Lässt sich nutzen, um eine Exception zu kreieren. |
| is | Das Gleiche wie "=". Wird eher nicht genutzt. |
| or | Ein oder-Statement. Ähnlich zu "II" in anderen Sprachen. Beispiel: if value1 == true or value2 == false: print("One of the conditions is fullfilled") |
| and | Ein und-Statement. Ähnlich zu "&&" in anderen Sprachen. Beispiel: if value1 == true and value2 == false: print("All of the conditions are fullfilled") |
Variablentypen
| Typ (Vergleich) | Beschreibung |
|---|---|
| list (Array) | Eine Liste vieler Verschiedener Werte. Auf die genauen Werte wird mittels eines Index (Syntax list[index]) zugegriffen. Werte werden mit "," getrennt und die Liste wird von eckigen Klammern ([]) begrenzt. Ist deckungsgelich zum Array in anderen Sprachen. Wird zum Speichern von Daten in einer geordneten Liste verwendet. Der erste Wert der Liste hat den Index 0. Ein Wert kann mehrfach vorkommen. |
| bool | Ein Boolean ist ein Variablentyp, der Wahrheitswerte speichert. Er kann entweder True oder False sein. In Python werden True und False, anders als in anderen Sprachen, groß geschrieben. |
| bytes / bytearray | Werte als Bytes. Bytes sind immutable, also unveränderbar, während ein Bytearray mutable, also veränderbar ist. |
| complex | Ein komplexer Zahlenwert, zum Beispiel 10j oder 5y. Wird häufig im Kontext von Koordinaten und Vekoren verwendet und kommt selten in normalen Programmen zum Einsatz. |
| Dictionary | Eine ungeordnete Sammlung von Schlüssel-Wert-Paaren (Key-Value-Pairs). Auf einen Wert wird mit dict["Key"] zugegriffen und man erhält einen Wert zurück. So ist der Wert von result = myDict["Value2"] 20, wenn myDict = {"Value1" : 10, "Value2" : 20} ist (für Value1 wäre es 10). Dictionaries werden genutzt, um beispielsweise Nutzerdaten zu speichern. |
| float | Ein Fließkommawert, also eine Zahl mit beliebig vielen Nachkommastellen. Floats werden häufig bei Prozentzahlen eingesetzt, da sie Werte zwischen 0 und 1 speichern können. Floats haben eine maximalgröße, diese ist allerdings extrem hoch und hängt auch von der Anzahl der Nachkommastellen ab. Floats können positive und negative Werte speichern. |
| int | Ein Integer ist ein ganzzahliger Wert. Er kann positiv, aber auch negativ sein. In Python ist die größe eines int theoretisch unbegrenzt. |
| range | Eine Zahlenreihe, die Immutable ist (also unveränderbar) |
| set / frozenset | Eine Sammlung verschiedener Werte. Anders als in einer List darf jeder Wert nur einmal vorkommen. Werte werden mit "," getrennt und die Liste wird von geschwungenen Klammern ({}) begrenzt. Die Werte werden, anders zur List, ungeordnet gespeichert. Mit frozenset(set) lässt sich ein Set erstellen, das immutable ist, also nicht verändert werden kann (vergleichbar mit const in anderen Sprachen) |
| String | Bei einem String handelt es sich um eine Variable, die Text speichert. Anders als bei Zahlen muss der Text von beliebigen Anführungszeichen (meist "", '' oder ´´) umschlossen sein. Strings können auch Formatierungszeichen speichern, so kann man mit \n einen Absatz erstellen und mit \t eine Einrückung einfügen. |
| tuple | Genau wie eine List ist ein Tuple geordnet. Er kann verschiedene Werte enthalten, die auch mehrfach vorkommen können. Ein Tuple ist allerdings immutable, lässt sich also nicht verändern. Werte werden mit "," getrennt und die Liste wird von runden Klammern (()) begrenzt. |
| memoryview | Eine Memoryview-Variable stellt die internen Daten eines Bufferobjektes dar. Wird, für gewöhnlich, nicht gebraucht. |
| None (NoneType) | Ein Platzhalter. Eine keinen anderen Wert als None (vergleichbar mit null in anderen Sprachen) hat. |