Glückwunsch

Einführung in objektorientierte Programmierung in Python

George Boorman

Curriculum Manager, DataCamp

Klassen und Objekte

Begriff Definition
Klasse Eine Blaupause/Vorlage zum Erstellen von Objekten
Objekt Kombination aus Daten und Funktionalität; eine Instanz einer Klasse
Einführung in objektorientierte Programmierung in Python

Attribute und Methoden

Begriff Definition
Klasse Eine Blaupause/Vorlage zum Erstellen von Objekten
Objekt Kombination aus Daten und Funktionalität; eine Instanz einer Klasse
Zustand Daten eines Objekts, vergeben über Attribute
Verhalten Funktionalität eines Objekts, definiert über Methoden
Einführung in objektorientierte Programmierung in Python

Kernkonzepte

Kapselung:

  • Daten und Methoden bündeln

Vererbung:

  • Vorhandene Funktionalität erweitern

Polymorphie:

  • Einheitliche Schnittstelle schaffen
Einführung in objektorientierte Programmierung in Python

Vergleiche

Operator Methode
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Einführung in objektorientierte Programmierung in Python

String-Darstellung

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • informell, für Endnutzer
  • string-Darstellung

__repr__()

  • repr(obj), Ausgabe in der Konsole
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • formell, für Entwickler
  • reprroduzierbare repräsentation
  • Fallback für print()
Einführung in objektorientierte Programmierung in Python

Fehlerbehandlung

class BalanceError(Exception): 
    pass

class Customer: def __init__(self, name, balance): if balance < 0 : raise BalanceError("Balance has to be non-negative!") else: self.name, self.balance = name, balance
# Use try-except to catch errors try: cust = Customer("Larry Torres", -100) except BalanceError: cust = Customer("Larry Torres", 0)
Einführung in objektorientierte Programmierung in Python

Wie geht’s weiter?

  • Mehrfachvererbung
  • Deskriptoren
  • Eigene Attribute
  • Eigene Iteratoren
  • Typ-Hinweise
  • Abstrakte Basisklassen
Einführung in objektorientierte Programmierung in Python

Lass uns üben!

Einführung in objektorientierte Programmierung in Python

Preparing Video For Download...