Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp,...

33
Programmierung in Python Univ.-Prof. Dr. Martin Hepp, [email protected] Programmierung in Python Univ.-Prof. Dr. Martin Hepp, Universität der Bundeswe Einheit 3: Objektorientierte Programmierung in Python Version: 2019-12-10 http://www.ebusiness-unibw.org/wiki/Teaching/PIP Inhaltsverzeichnis 1 Funktionen und Modularisierung 1.1 Motivation 1.2 Definition von Funktionen 1.3 Übergabeparameter 1.3.1 Arten von Parametern 1.3.1.1 Positional Arguments 1.3.1.2 Keyword Arguments 1.3.1.3 Variable Anzahl an Positional Argume 1.3.1.4 Variable Anzahl an Keyword Argumen 1.3.1.5 Weitere Informationen zu Parametern 1.3.2 Erweiterungen ab Python 3.8: Type Hints 1.4 Rückgabewerte 1.5 Dokumentation von Funktionen (nicht klausur 2 Bibliotheken und Import von Modulen (nicht klaus 2.1 Import von Modulen mit import 2.2 Standard-Bibliothek von Python 2.3 Vorinstallierte Bibliotheken in Anaconda 2.4 Installation zusätzlicher Bibliotheken 3 Objektorientierung als Programmierparadigma 3.1 Motivation 3.2 Klassen 3.3 Instanzen 3.4 Methoden 3.5 Beispiel 4 Definition einer Klasse (nicht klausurrelevant) 4.1 Grundgerüst 4.2 Variablen auf Instanzebene 4.3 Konstruktor-Methode 4.4 Methoden auf Klassenebene 5 Quellenangaben und weiterführende Literatur

Transcript of Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp,...

Page 1: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Programmierung in PythonUniv.-Prof. Dr. Martin Hepp, Universität der Bundeswe Einheit 3: ObjektorientierteProgrammierung in PythonVersion: 2019-12-10 http://www.ebusiness-unibw.org/wiki/Teaching/PIP

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 2: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1  Funktionen und Modularis1.1  Motivation

Programmteile, die oft wiederholt werden, sollten nivorhanden sein.Stattdessen sollte man sie über einen Namen aufrufEinen Programmteil, den man über seinen Namen anennt man in der Programmierung Funktion oder MProgramme werden dadurch kürzer und übersichtlic

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 3: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Beispiel: Im Folgenden wird zwei Mal 'Hallo UniBwM' aIn [1]:

Besser wäre es, wenn man diese Funktion ein Mal defindann bei Bedarf aufrufen könnte.

Hallo UniBwM Hallo UniBwM 

print('Hallo UniBwM')print('Hallo UniBwM')

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 4: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.2  Definition von FunktionenFunktionen werden in Python mit dem Schlüsselwort de[siehe auch ].Python 3 ReferenceIn [2]:

Anschließend kann man sie jederzeit über ihren Namen In [3]:

Hier spart man zwar nicht wirklich viel an Programmlängwenn man den Begrüßungstext ändern möchte, muss m

Hallo UniBwM Hallo UniBwM 

def say_hello():    print('Hallo UniBwM')

say_hello()say_hello()

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 5: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.3  ÜbergabeparameterEine Funktion kann so definiert werden, dass man ihr WeParameter übergibt, die dann das Verhalten der Funktion(vgl. ).

Dazu definiert man in runden Klammern eine Liste von Ndie der jeweils übergebene Wert innerhalb der Funktionist.

Beispiel:

Python 3 Reference

In [4]:

In [5]:

Hallo UniBwM 

def say_text(text):    print(text)

say_text('Hallo UniBwM')

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 6: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Natürlich können auch mehrere Parameter übergeben wIn [6]: In [7]:

In [8]:

15 

15 

def multipliziere(wert_1, wert_2):    """Multipliziert <wert_1> mit <w    ergebnis = wert_1 * wert_2    print(ergebnis)

# Aufruf mit Wermultipliziere(3,

# Aufruf mit Vara = 3b = 5multipliziere(a,

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 7: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.3.1  Arten von ParameternBeim Aufruf müssen die übergebenen Parameter zu denin der Definition passen. Die Parameter einer Funktion onennt man auch Signatur.

Hier gibt es mehrere Möglichkeiten.

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 8: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.3.1.1  Positional Arguments

Parameter können einfach über ihre Reihenfolge bestimim obigen Beispiel). In den folgenden Beispielen ist der Wbeim Aufruf der Funktion funktion an erster Stelle übinnerhalb der Funktion über den Namen parameter_1und der Wert, der an zweiter Stelle übergeben wird, übeparameter_2 :

In [9]: In [10]:

1 5 

5 1 

def funktion(parameter_1, parameter_    print(parameter_1)    print(parameter_2) funktion(1, 5)

funktion(5, 1)

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 9: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Die Reihenfolge bestimmt also die Zuordnung:In [11]:

In [12]:

5.0 

0.6 

def teile(dividend, divisor):    print(dividend / divisor) teile(15, 3)

teile(3, 5)

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 10: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.3.1.2  Keyword Arguments

Alternativ kann man auch Namen für Parameter vorgebeverwendet werden müssen. Dies erlaubt auch Default-WIn [13]:

In [14]: In [15]:

In [16]:

hallo TUM 

UniBwM 

def funktion(parameter_name='UniBwM'):    print(parameter_name)

# Aufruf mit Parameterfunktion(parameter_name='hallo')

# Variable text text = 'TUM'funktion(paramet

# Wenn der Parameter fehlt, wird der Default­Wert verwendet:funktion()

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 11: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Keyword Arguments können auch über ihre Positionangesprochen werden:In [17]:

Guten Tag 

funktion('Guten Tag')

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 12: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.3.1.3  Variable Anzahl an Positional Arguments (nicklausurrelevant)

Es ist auch möglich, eine flexible Anzahl an Positional Arzuzulassen. Dazu fügt man einen Parameternamen mit vSternchen ein, wie z.B. *weitere_parameter . Dann sweiteren übergebenen Parameter im Inneren der FunktioTupel mit dem Namen weitere_parameter ansprech

Die folgende Funktion erfordert mindestens ein ParametNachnamen und 0..n weitere Parameter als Vornamen.In [18]:

In [19]:

def schreibe_namen(nachname, *vornamen):    for vorname in vornamen:        print(vorname, end=' ')  # end=' ' unterdrückt den Zeile    print(nachname)

schreibe_namen('Müller')

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 13: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.3.1.4  Variable Anzahl an Keyword Arguments (nichklausurrelevant)

Es ist ebenso möglich, eine flexible Anzahl an Keyword Azuzulassen. Dazu fügt man einen Parameternamen mit vDoppelstern ein, wie z.B. **weitere_werte . Dann sinweiteren übergebenen Parameter im Inneren der FunktioDictionary mit dem Namen weitere_werte ansprechb

Die folgende Funktion erfordert mindestens ein ParametKundennummer und 0..n weitere Paare aus Keyword unzusätzliche Parameter.In [23]: def drucken_kundendaten(kundennummer, **eigenschaften):

    print('Kundennummer:', kundennummer)    for key in eigenschaften:        print(key, '=', eigenschaften[key])

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 14: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.3.1.5  Weitere Informationen zu Parametern in Funk(nicht klausurrelevant)

Siehe .

https://docs.python.org/3.7/tutorial/controlflow.htdefining-functions

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 15: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.4  RückgabewerteEine Funktion kann einen Wert als Ergebnis zurücklieferndas Schlüsselwort return .

Dann muss man den Aufruf der Funktion einer Variable zausgeben oder auf andere Weise in einem Ausdruck verIn [25]:

20 20 

def verdopple(parameter_1):    ergebnis = parameter_1 * 2    return ergebnis print(verdopple(10))mein_wert = verdopple(10)print(mein_wert)

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 16: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Der Aufruf einer Funktion mit Rückgabewert kann wie jeWert oder Ausdruck verwendet werden.In [26]: In [27]:

16  23.7999999999999

print(verdopple(verdopple(4))) print(verdopple(

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 17: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Wenn man mehrere Werte zurückliefern möchte, muss mDatentyp verwenden, der Unterelemente enthält. Beispie

TupelDictionaryBenutzerdefinierte Objekte

In [28]:

(8, 12) 

def zwei_werte(parameter_1):    wert_1 = parameter_1 * 2    wert_2 = parameter_1 * 3    return (wert_1, wert_2) ergebnis = zwei_werte(4)print(ergebnis)a, b = ergebnisprint(a, b)

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 18: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Übungsaufgabe: Schreiben Sie eine Funktion, die die Qeiner als Parameter übergebenen Ganzzahl zurückliefertIn [29]:

12 

def quersumme(zahl):    zahl = str(zahl)    ergebnis = 0    for ziffer in zahl:        ergebnis = ergebnis + int(ziffer)    return ergebnis print(quersumme(426))

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 19: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

1.5  Dokumentation von Funktione(nicht klausurrelevant)Jede Funktion sollte eine kurze Beschreibung und AngaAufruf- und Rückgabeparameter enthalten.

Eine genaue Beschreibung dieser 'docstrings' finden Siefolgenden Links:

https://docs.python.org/3/tutorial/controlflow.html#stringshttps://www.python.org/dev/peps/pep-0257/http://google.github.io/styleguide/pyguide.html#383and-methods

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 20: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Beispiel:In [30]: def quersumme(zahl):

    """Berechnet die Quersumme einer Ganzzahl.        Diese Funktion addiert die Ziffernwerte der übergebenen Ganz        Args:        zahl: Die zu verwendende Ganzzahl.            Returns:        Die Quersumme als Ganzzahl.    """    zahl = str(zahl)    ergebnis = 0    for ziffer in zahl:        ergebnis = ergebnis + int(ziffer)    return ergebnis

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 21: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

2  Bibliotheken und Import vModulen (nicht klausurrelevaIn Python können Module mit vordefinierten Funktionen (s.u.) bei Bedarf zum eigenen Programm hinzugefügt we

].2.1  Import von Modulen mit impoDurch die Anweisung import <modulname> wird das<modulname> geladen. Danach können alle Namen auModul über <modulname>.<lokaler_name> angespwerden.

3 Reference

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 22: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Beispiel:In [31]:

In [32]:

Für weitere Informationen, siehe . Die vollständigen tDetails sind etwas kompliziert und beschrieben.

hierhier

3.141592653589793 

import math # Im Modul math gibt es einen Wert piprint(math.pi)

# Und eine Funktion ceil﴾x﴿, die die kleinste Ganzzahl zurücklieprint(math.ceil(3.14))

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 23: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

2.2  Standard-Bibliothek von PythPython enthält eine sehr reichhaltige Bibliothek an vordeFunktionen und Klassen. Für eine vollständige Liste, sieh

.Python Standard Library

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 24: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

2.3  Vorinstallierte Bibliotheken inAnacondaDie Anaconda-Distribution enthält viele weitere, vorinstaModule; diese variieren zum Teile je nach BetriebssystemEine Liste ist verfügbar.hier

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 25: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

2.4  Installation zusätzlicher BiblioDieses Thema wird im Rahmen der Vorlesung nicht behahier nur der Vollständigkeit halber erwähnt. Für eine Listeverfügbarer Module, siehe .https://pypi.org/

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 26: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

3  Objektorientierung alsProgrammierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 27: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

4  Definition einer Klasse (nicklausurrelevant)https://docs.python.org/3/tutorial/classes.html

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 28: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

4.1  GrundgerüstKlasseParameterDOCSTRINGKonstruktor-MethodeKlassenmethodenKlassenvariablenInstanzenvariablen

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 29: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

4.2  Variablen auf InstanzebeneDieses Thema wird im HT 2019 nicht behandelt.

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 30: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

4.3  Konstruktor-MethodeDieses Thema wird im HT 2019 nicht behandelt.

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 31: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

4.4  Methoden auf KlassenebeneDieses Thema wird im HT 2019 nicht behandelt.

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 32: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

5  Quellenangaben undweiterführende Literatur[Pyt2019]    Python Software Foundation. Python 3.8.0Documentation. .https://docs.python.org/3/

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur

Page 33: Programmierung in Python - GitHub Pages · Programmierung in Python Univ.-Prof. Dr. Martin Hepp, martin.hepp@unibw.de 1.2 Definition von Funktionen Funktionen werden in Python mit

Programmierung in Python

Univ.-Prof. Dr. Martin Hepp, [email protected]

Vielen Dank!http://www.ebusiness-unibw.org/wiki/Teaching/PIP

Inhaltsverzeichnis

1  Funktionen und Modularisierung1.1  Motivation1.2  Definition von Funktionen

1.3  Übergabeparameter 1.3.1  Arten von Parametern

1.3.1.1  Positional Arguments1.3.1.2  Keyword Arguments1.3.1.3  Variable Anzahl an Positional Argume1.3.1.4  Variable Anzahl an Keyword Argumen1.3.1.5  Weitere Informationen zu Parametern

1.3.2  Erweiterungen ab Python 3.8: Type Hints 1.4  Rückgabewerte1.5  Dokumentation von Funktionen (nicht klausur

2  Bibliotheken und Import von Modulen (nicht klaus2.1  Import von Modulen mit import2.2  Standard-Bibliothek von Python2.3  Vorinstallierte Bibliotheken in Anaconda2.4  Installation zusätzlicher Bibliotheken

3  Objektorientierung als Programmierparadigma3.1  Motivation3.2  Klassen3.3  Instanzen3.4  Methoden3.5  Beispiel

4  Definition einer Klasse (nicht klausurrelevant)4.1  Grundgerüst4.2  Variablen auf Instanzebene4.3  Konstruktor-Methode4.4  Methoden auf Klassenebene

5  Quellenangaben und weiterführende Literatur