Was ist OOP?

Objektorientierte Programmierung in Python

Alex Yarosh

Content Quality Analyst @ DataCamp

 

Prozedurale Programmierung

 

  • Code als Abfolge von Schritten
  • Ideal für Datenanalyse
Objektorientierte Programmierung in Python

Denken in Sequenzen

 

Symbole einer Person im Bett, gefolgt von einem Kaffeesymbol und einem Aktentaschensymbol

 

Eine Vielzahl von Symbolen, die viele Aktivitäten darstellen

Objektorientierte Programmierung in Python

 

Prozedurale Programmierung

 

  • Code als Abfolge von Schritten
  • Ideal für Datenanalyse und Skripte

 

Objektorientierte Programmierung

 

  • Code als Interaktion von Objekten
  • Ideal für Frameworks und Tools
  • Wartbarer und wiederverwendbarer Code!
Objektorientierte Programmierung in Python

Objekte als Datenstrukturen

$$\Large{\text{Objekt = Zustand + Verhalten}}$$

Silhouette einer Person mit Laptop, die einen Kunden darstellt

 

$$\text{\textbf{Kapselung} - Daten mit dem Code bündeln, der darauf arbeitet}$$

Objektorientierte Programmierung in Python

Klassen als Vorlagen

  • Klasse: Vorlage für Objekte mit möglichen Zuständen und Verhaltensweisen

Kundenklasse

Objektorientierte Programmierung in Python

Klassen als Vorlagen

  • Klasse: Vorlage für Objekte mit möglichen Zuständen und Verhaltensweisen

Kundenklasse, die sich in Kundenobjekte verzweigt

Objektorientierte Programmierung in Python

Objekte in Python

  • Alles in Python ist ein Objekt
  • Jedes Objekt hat eine Klasse
  • Mit type() die Klasse herausfinden
import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray
Objekt Klasse
5 int
"Hallo" str
pd.DataFrame() DataFrame
np.mean function
... ...
Objektorientierte Programmierung in Python

Attribute und Methoden

Zustand ↔ Attribute
import numpy as np
a = np.array([1,2,3,4])

# shape-Attribut a.shape
(4,)

 

  • Mit obj. auf Attribute und Methoden zugreifen
Verhalten ↔ Methoden
import numpy as np
a = np.array([1,2,3,4])

# reshape-Methode a.reshape(2,2)
array([[1, 2],
       [3, 4]])
Objektorientierte Programmierung in Python

Objekt = Attribute + Methoden

  • Attribut ↔ Variablenobj.mein_attribut,

  • Methode ↔ Funktion()obj.meine_methode().

import numpy as np
a = np.array([1,2,3,4])
dir(a)                # <--- listet alle Attribute und Methoden auf
['T',
 '__abs__',
 ...
 'trace',
 'transpose',
 'var',
 'view']

Objektorientierte Programmierung in Python

Lass uns üben!

Objektorientierte Programmierung in Python

Preparing Video For Download...