Kursunterlagen Teil 2 - GeekGirlsCarrotsZH/Programmieren_Lernen_mit_Python GitHub Wiki

Aus was besteht ein Python Programm?

  • Programme bestehen aus Modulen.
  • Module enthalten Anweisungen.
  • Anweisungen enthalten Ausdrücke.
  • Ausdrücke bilden und verarbeiten Objekte.

Elementare Einweisungen

Die while - Schleife

Die while-Anweisung ist sehr flexibel. Es kann verwendet werden, um einen Codeblock zu wiederholen, während eine Bedingung erfüllt ist.

y = 1
while y <= 10:
    print (y)
    y+=1


1
2
3
4
5
6
7
8
9
10

Als Schema sieht es so aus:

for - Schleife

Diese Schleife ist ein Sequenz-Iterator in Python. Sie kann durch Elemente eines Objekts laufen.

wort = ['sonne','see','mond','tag']
for word in wort:
    print (word)


sonne
see
mond
tag

if - Test / Anweisung

Dies ist die if-Anweisung, mit der Sie eine bedingte Ausführung ausführen können. Das heißt, wenn die Bedingung (der Ausdruck nach if, aber vor dem Doppelpunkt) als wahr (wie zuvor definiert) ausgewertet wird, wird der folgende Block (in diesem Fall eine einzelne print-Anweisung) ausgeführt. Wenn die Bedingung falsch ist, wird der Block nicht ausgeführt.

name = input('was ist dein Name? ')
was ist dein Name? Alma
if name.endswith('Alma'):
    print ('Hallo Alma!')

Hallo Alma!

Als Schema sieht es so aus:

Listen Abstraktion (List comprehension)

Die Listen-Abstraktion ist eine einfache und elegante Methode, um Listen zu erzeugen oder zu definieren. Mit Listen-Abstraktion können wir eine Liste erzeugen, und dann durch Anwendung verschiedene Operationen, durch jedes Element der Liste “gehen” und bestimmte Operationen auf diese Elemente durchführen.

Wie sieht es aus? In folgendem Beispiel, erzeugen wir eine Liste (zahlen), die jede Nummer von 1 bis 5 nimmt und addiert eine eins dazu (ohne Listen-Abstraktion).

zahlen = []
for i in range(1,5):
    zahlen.append(i+1)
zahlen
[2, 3, 4, 5]

Viel einfacher (nur in eine Zeile!), kann man das selbe mir Nutzung Listen.Abstraktion ausdrucken:

zahlen = [i+1 for i in range(1,5)]
zahlen
[2, 3, 4, 5]

Listen-Abstraktion werden von eckigen-Klammern umrahmt. In den Klammern steht ein Ausdruck, der von einen oder mehreren for-Ausdrücken gefolgt wird. Eine Listen-Abstraktion gibt eine Liste zurück.

Funktionen in Python

Vereinfacht ausgedrückt ist eine Funktion eine Sammlung von mehreren Anweisungen, sodass diese in einem Programm ‘alle zusammen’ ausgeführt werden können. Eine Funktion ist ein Mini-Program in einem Programm. Ohne Funktionen mussten wir jede Anweisung immer wieder explizit angeben, wenn wir sie nutzen möchten, was sehr mühsam und ineffizient wäre. Funktionen sind von Argumenten (Parametern) abhängig. Diese dienen als Funktionseingaben, und können bei jedem Ausführen des Codes unterschiedlich sein. Die Codierung einer Operation als Funktion macht sie zu einem allgemein nützlichen Werkzeug, das wir in einer Vielzahl von Kontexten verwenden können. Was sind die Vorteile von Funktionen?

  • die erhöhen die Verständlichkeit und Qualität des Programms
  • die reduzieren die Fehlerquote im Programm

Wie definiere ich eine Funktion? Mit der def-Schlüsselwort stelle ich fest, dass ich eine Funktion definieren möchte. Präziser ausgedruckt, die def-Anweisung erstellt ein Funktionsobjekt und weist es einem Namen zu. Sein allgemeines Format ist:

def <name der Funktion> (argument1, argument2,….argumentN):
    <anweisungen>

def kuchen_backen (zutaten, back_temperatur, back_zeit:
    zutaten vermischen
    …………

Die Argumenten-Namen in der Argumenten-Liste werden durch Kommata getrennt. Der Funktionskörper wird durch eine Einrückung markiert. Es folgen Anweisungen.

Aufrufen (“benutzen”) einer Funktion: In einem Program, die Funktion wird durch ihren Namen und Argumente die sie nimmt (in runden Klammern eingeschlossen) aufgerufen. Das allgemeines Format ist:

funktions_name (argumente)

kuchen_backen (zutaten, 180, 35)

Vorher haben wir schon Funktionen benutz, zum Beispiel als wir Informationen von dem Anwender erhalten wollten (also, aus der Standardausgabe lesen wollten). Dafür haben wir die Python-Funktion input() verwendet.

userZahl = input('Tippe eine Zahl ein: ')
Tippe eine Zahl ein: 2

Oder um Informationen auf den Bildschirm (Standarausgabe) zu schreiben.

print(userZahl)
2

Module in Python

Wie vorher schon gesagt, Programme bestehen aus Modulen, die aus Anweisungen bestehen, usw. In Python kann man eigene Module schreiben, und das ist extrem einfach. Häufig tut man es, ohne es zu wissen. Jedes Python-Programm ist automatisch auch ein Modul.

In Python unterscheiden wir zwei arten von Modulen:

  • Libraries (Bibliotheken: verfügbar für alle Python-Programme. Das beinhaltet die Standardbibliothek, eigene Module oder Module von Drittanbietern)
  • lokale Module (nur für ein Programm verfügbar)

In diesem Kurs werden wir die Python-Module os und os.path kennenlernen. Um einen Modul nutzen zu können, muss man es zuerst (in unserem Programm) einbinden. Das tun wir mit dem import-Anweisung (am besten gleich am Anfang unseres Scripts):

import os

Was kann man mit dem os-Modul machen? Aus der name lesen wir: operating system (os), also Betriebsystem. Dieses Modul ermöglicht es uns viele nützliche Dinge an unserem Computer zu machen, zum Beispiel Dateien verarbeiten (umbenennen,… ). Das os.path Modul enthält Funktionen zum Verarbeitung der Pfadnamen.

Für die vollständige Liste aller os-Modul Funktionen, siehe die offizielle Dokumentation auf: https://docs.python.org/3/library/os.html

Für die Liste aller Funktionen in os.path Modul: https://docs.python.org/3/library/os.path.html

In diesem Kurs werden wir die folgende Funktionen benutzen:

  • os.getcwd(): get current working directory (gibt den aktuellen Arbeitsverzeichnis zurück)
  • os. chdir(): change directory (wechselt den aktuellen Arbeitsverzeichnis)
  • os.rename(): files umbenennen
  • os.format(): files Ausgabe in einem bestimmten Format zurückgeben
  • os.path.splitext(): trennt die Dateierweiterung (zeigt das Format der Datei, zB text.doc) von den Datei-Namen

Wo finde ich Dokumentation zum Python?

Bücher:

Lutz, M. (2009). Learning Python: Fourth Edition. Sebastopol: OReilly. (in der ETH Bibliothek als ebook verfügbar)

Klein, B. (2014). Einführung in Python 3 für Ein- und Umsteiger. In einer Woche programmieren lernen. München: Hanser. (in der ETH Bibliothek als ebook verfügbar)

Webseiten rund um Python:

https://www.python.org

Webseite um Python code Schritt für Schritt zu verfolgen: http://pythontutor.com

Dokumentation zur Python: Sprach- und Library-Referenz: https://docs.python.org/3/

Links zur Dokumentation der vorgestellten Python Module:

https://docs.python.org/3/library/os.path.html


https://docs.python.org/3/library/os.path.html

Foren:

https://stackoverflow.com

Online Kurse:

https://www.udemy.com/courses/search/?q=python%20lernen&src=ukw

https://www.codecademy.com

https://www.codecademy.com/catalog/language/python