Python-Kurs

Lektion 1

Grundlagen
 
Hello World -Programm: Konsole öffnen und python eintippen. Es öffnet sich der interaktive Python-Interpreter. Dort eingeben: 
print("Hello World!")
und <ENTER> drücken.
 
Hello World als Skript: Öffne im Editor eine Datei hello.py , print-Befehl wie oben in die Datei schreiben und speichern. Dann in der Konsole eingeben:
python hello.py
 
Fortgeschrittene Version: Hello, <user>!
name = input("Wie heisst du? ")
print("Hello", name)
 
Wie funktioniert Python prinzipiell?
Der Prozessor des Computers kann nur Maschinensprache ausführen, Menschen bevorzugen die Programmierung in einer "Hochsprache" wie Python oder C++, wegen der besseren Lesbarkeit. Die Hochsprache muss vor der Ausführung in die Maschinensprache übersetzt werden. Zwei Ansätze:
  • offline: Kompilation in ein ausführbares Programm ("Executable"): C, C++, Fortran 
  • online: (unmittelbar vor der Ausführung): Python und generell interpretierte Sprachen bzw. Skriptsprachen. D.h., wenn man Python auf der Kommandozeile startet, läuft im Hintergrund ein Programm, das die Eingaben in Maschinensprache übersetzt und sofort ausführt.
  • Vorteil: flexibel - z.B.: man kann das Programm während der Ausführung verändern (oder überhaupt erst schreiben)
  • Nachteil: langsamer
 
Wie kann man Python ausführen?
  • Skript schreiben und auf der Kommandozeile python skript.pyaufrufen
  • python ohne Argument: startet den interaktiven Interpreter, dann kann man die Kommandos eintippen
  • bequemere Kommandozeile: ipython 
  • command? ruft die Hilfe auf
  • Pfeil hoch/runter ruft die vorigen Kommandos zurück
  • usw.
  • spyder in der Kommandozeile aufrufen: enthält ipython rechts unten, einen Skript-Editor links, den Variable-Inspektor (oben rechts) zum Ansehen der aktuell definierten Variablen sowie den Object Inspector (oben rechts) zum Anzeigen von Hilfe mittes CTRL-I. 
  • spyder ist eine IDE (Integrated Development Environment) ähnlich zu Matlab
  • Alternativen: pycharm, pydev-plugin für Eclipse, Python Tools for Visual Studio, kdev-python for KDevelop
  • jupyter notebook startet einen Python-Webserver auf dem lokalen Computer. Mit New => python3 kann man ein neues Notebook erzeugen und dort in den "Zellen" Code einfügen und mittels SHIFT + Enter sofort ausführen.
 
Jedes Python Programm besteht aus eigenem und fremden Code. Fremder Code wird normalerweise in Modulen angeboten, die man zunächst importieren muss.
import sys    # importiere das Modul 'sys'
sys enthält Informationen über das aktuelle System:
print(sys.platform)
Man kann das Inhaltsverzeichnis eines Modules mit dir(modulename) anzeigen:
dir(sys)
In ipython kann man das vereinfachen, indem man sys.<TAB> eingibt, oder sys.anfang<TAB> zur Vervollständigung.
Das __builtin__ -Modul ist immer vorhanden und stellt grundlegende Funktionalität zur Verfügung:
dir(__builtin__)
dir() ohne Argumente gibt aus, welche Variable und Funktionen zur Zeit vorhanden sind.
Das Modul pip stellt die Python-Module zur Verfügung:
 import pip
 pip.get_installed_distributions() # welche Module
                           # kann man importieren?
 
Was macht ein Programm eigentlich?