Python | ||||
Allgemeines |
Python ist eine Interpreter-Sprache. | Die Befehle werden erst zum Zeitpunkt der Ausführung compiliert. | Daher ist die Ausführung relativ langsam. | Fehler werden meistens erst bei der Ausführung des Codes erkannt |
Homepage |
http://python.org | Enthält auch Download-Links für Windows und Linux | ||
Installation |
Viele Linux- und Unix-Installationen bringen Python mit. | |||
MicroPython |
Läuft auf ESP8266, ESP32, Raspberry Pi Pico | Hat nur eine begrenzte Standardbibliothek | ||
Syntax | Zeilenwechsel = Befehlsende | Unterstrukturen müssen eingerückt werden.
Immer gleiche Einrückung verwenden (Leerzeichen oder Tab. |
if temp < 21:
print("Zu kalt!") elif temp > 25: print("Zu warm!") else print("Angenehm!") | |
Datentypen | atomare Typen
|
Abfrage type(a) ...class 'int' | ||
dynamische Typisierung | a = 42 -> legt eine neue Integer-Variable namens a an und
weist ihr den ganzzahligen Wert 42 zu. a = 2.17 -> a wird ein float-Objekt, selbst wenn es zuvor ein int-Objekt war. |
|||
Explizite Deklaration |
Implizite Deklaration a = 32 integer b = 3.14 float c = True bool d = "Txt" string e = 42 / 5 float f = 42 //5 integer | |||
Listen | Liste erzeugen und abfragen numbers = [1, 2, 3] numbers [0] -> 1 numbers [-1] -> 3 numbers [1:] -> [2,3] |
Länge der Liste abfragen
len(numbers) -> 3 |
Liste erweitern numbers.append (4) numbers -> [1,2,3,4] numbers[-1] = 42 numbers -> [1,2,3,42] |
|
extend | .extend() Eine Liste kann um eine 2. Liste erweitert werden. |
x = [1, 2, 3] y = [4, 5] x.extend(y) print(x) |
[Out]: [1, 2, 3, 4, 5] | |
Verschachtelte Listen | employees = [['Homer', 42], ['Jane', 37], ['Peter', 53]] | Abfrage employees = [1] -> ['Jane', 37] employees = [1][0] -> 'Jane' employees = [1][1] -> 37 Wertzuweisung employees [1][0] = 'Susi' employees = [1][0] -> 'Susi' | ||
Tupel |
speichern ebenfalls Objekte unterschiedlichen Typs
Deklaration mit runden Klammern anstelle eckiger Klammern: employees = (('Homer', 42), ('Jane', 37), ('Peter', 53)) |
unveränderlich
keine append-Funktion keine Schreibzugriffe |
||
Dictionaries | assoziative Arrays, Hash-Maps | bilden Schlüssel-Objekte auf Werte ab. |
john = { 'name': 'John Doe', 'age': 42, 'address': { 'street': 'Main Street', 'postal-code': 12345, 'city': 'Springfield' } } | |
E/A | print("Zu kalt!") | |||
Ablaufsteuerung |
IF if Logische Bedingung: ... elif Alternative Bedingung: ... Beliebig oft else: ... Nur einmal |
while | for | |
Module | Speicherung in ASCII-Text-Dateien: Modul.py | Hauptprogramm: __name__ == “__main__” |
Wird das gleiche Programm von einem anderen Programm aufrufen, so ersetzt der Interpreter den Programmnamen __main__ durch den Aufrufnamen. | if __name__ == "__main__":
print ("Ausführung nur bei direktem Aufruf als Hauptprogramm") else: print ("Ausführung nur, bei Aufruf durch ein anderes Modul") |
Funktionen | Definition ohne Parameter
def hello(): print("Hello, world!") |
Definition mit Parameter
def greet(name): print("Hallo,", name + "!") |
Aufruf
hello() greet("jens") | |
Rückgabewert
def sum(a, b): return a + b x = sum(3, 5) -> x = 8 |
Mehrfache Rückgabewerte def mult_sum(a, b): return a + b, a * b Das Ergebnis ist ein Tupel |
Keyword-Argumente
mult_sum(b = 5, a = 3) |
Default-Argumente
def mult_sum(a, b = 0): return a + b, a * b Ruft man diese Funktion nur mit einem Argument auf, wird der Parameter b automatisch auf 0 gesetzt. |
|
Bibliothek | Einbindung von Fremdmodulen | Einbinden der Bibliothek time
import time time.sleep() |
Teilweise Einbindung
from time import sleep -> Es wird nur die Funktion sleep eingebunden sleep(1) -> Der Name der Bibliothek kann beim Aufruf weggelassen werden. | |
yield | The yield statement sends a value back to the caller, but maintains the function’s state | def gen_yield(): yield "hel" yield "lo " yield "wor" yield "ld!"def func_return(): return "hel" return "lo " return "wor" return "ld!" |
for value in generator_yield(): print(value, end="") | [Out]: "hello world!" |
for value in generator_return(): print(value, end="") | [Out]: "hel" print(start, end) | |||
Teil von |
Programmier - Sprachen | Software | EDV und DFÜ | |
Impressum Zuletzt geändert am 26.07.2020 11:39