Python¶
Python-Basics¶
Mit Python kann man Computerprogramme schreiben. Ein Programm ist der Text, der der dummen Hardware sagt, was sie tun soll. Also zum Beispiel soll der Bildschirm "Hallo" schreiben. Das Programm ist dabei nicht nur Code, sondern besteht quasi aus Gedanken.
Python-Konsole¶
Python-Konsole starten mit python
oder python3
und sie beenden mit Strg+D. Den Bildschirm leeren geht mit Strg+L.
python3
print('Hallo Welt!')
help¶
Hilfe zu vorhandenen Funktionen erhält man mit help()
. Beenden der Hilfe mit q
.
help(len)
print, input¶
So schreibt man etwas:
print('Dor' + 'Keinath')
print(1000*'DorKeinath ')
So liest man einen Text in die Variable a ein:
a = input('Gib etwas ein:')
import, asctime, subprocess¶
Importieren weiterer Funktionen aus noch nicht geladenen Pakten
import time
print(time.asctime())
oder für einzelne Funktionen:
from time import asctime
print(asctime())
Weiteres Beispiel: Um den Bildschirm zu löschen, kannst du den folgenden Code verwenden:
from subprocess import call
call("clear")
(Früher hat man from os import system
und system("clear")
oder os.popen
verwendet. Weitere Informationen zu subprocess, weitere Methoden Terminal-Befehle durch Python auszuführen.)
Python-Skript¶
Ein ganzes Python-Skript bzw. Python-Programm test.py schreiben und mit python3 test.py
(oder - falls das Shabang vorhanden ist - mit ./test.py
) starten.
```python
!/usr/bin/env python3¶
name = input('Wie heißt du? ') print('Hallo ' + name + '!') ```
Typen¶
Typen benötigen manchmal besondere Aufmerksamkeit: Versuche, die Summe aus zwei abgefragten Zahlen ausgeben zu lassen.
type(3.2)
```python
!/usr/bin/env python3¶
erste_eingabe = input('Erster Summand: ') zweite_eingabe = input('Zweiter Summand: ') a = float(erste_eingabe) b = float(zweite_eingabe) s = a + b print('Die Summe ist: ' + str(s)) ```
F-Strings¶
Mit F-Stings kann man eine Ausgabe erzeugen, ohne sich über die Typen Gedanken zu machen.
```python
!/usr/bin/env python3¶
name = "Hugo" alter = 42 print(f"Hallo, ich bin {name} und bin {alter-1} Jahre alt.")
```
Exkurs zu den Bytsequenzen¶
Mögliches GFS-Thema
Es gibt verschiedene Zeichentabellen. Die älteste heißt ASCII; sie enthält nur 128 Zeichen. Die größte Zeichentabelle heißt Unicode und ihre bekannteste Kodierung (engl. "encoding") heißt UTF-8. Python3 definiert Strings (str
) als Unicode-Text. Man kann aber auch angeben, wie Text gespeichert werden soll.
```python
text = bytes('Blöde Buchstaben wie äöüß', 'utf-8') text b'Bl\xc3\xb6de Buchstaben wie \xc3\xa4\xc3\xb6\xc3\xbc\xc3\x9f' ```
Das b
bei der Ausgabe von text
bedeutet, dass das darauf Folgende ein Bytestring ist.
```python
text.decode("utf-8") 'Blöde Buchstaben wie äöüß' ```
Arbeitsaufträge¶
Begrüßung¶
Schreibe ein Python-Skript, das den Aufrufer nach seinem Namen fragt und ihn dann mit seinem Namen und der aktuellen Uhrzeit begrüßt, z.B. "Hallo Python, es ist 12:45 Uhr."
Um die Uhrzeit schön zu formatieren, kannst du aus dem Modul time
die Funktion strftime
verwenden:
```python from time import strftime print(strftime("%d %b %Y %H:%M:%S"))
``
([Mehr zur Funktion
strftime`](https://docs.python.org/2/library/time.html#time.strftime))
Potenz-Berechner¶
Schreibe ein Python-Skript, das den Aufrufer nach einer Basis und einem Exponenten fragt und dann die Potenz berechnet und ausgibt. Hinweis: 2**3
ergibt 8.
Kreis-Berechner¶
Schreibe ein Python-Skript, das den Aufrufer nach einem Radius oder Durchmesser eines Kreises fragt und damit den Umfang und Inhalt des Kreises berechnet und ausgibt. Hinweis: Du kannst Pi aus dem Paket math
verwenden
python
from math import pi
Terminal-Programm (Für Fortgeschrittene)¶
Schreibe eines der beiden obigen Programme als Terminal-Programm