Wat is OOP?

Objectgeoriënteerd programmeren in Python

Alex Yarosh

Content Quality Analyst @ DataCamp

 

Procedureel programmeren

 

  • Code als een reeks stappen
  • Geweldig voor data-analyse
Objectgeoriënteerd programmeren in Python

Denken in reeksen

 

pictogrammen van een persoon in bed gevolgd door een koffiepictogram gevolgd door een aktetas pictogram

 

een verzameling pictogrammen die veel activiteiten vertegenwoordigen

Objectgeoriënteerd programmeren in Python

 

Procedureel programmeren

 

  • Code als een reeks stappen
  • Geweldig voor data-analyse en scripts

 

Objectgeoriënteerd programmeren

 

  • Code als interacties van objecten
  • Geweldig voor het bouwen van frameworks en tools
  • Onderhoudbare en herbruikbare code!
Objectgeoriënteerd programmeren in Python

Objecten als datastructuren

$$\Large{\text{Object = toestand + gedrag}}$$

silhouet van een persoon met een laptop die een klant vertegenwoordigt

 

$$\text{\textbf{Encapsulatie} - bundelen van data met code die erop werkt}$$

Objectgeoriënteerd programmeren in Python

Klassen als blauwdrukken

  • Klasse: blauwdruk voor objecten met mogelijke toestanden en gedragingen

klantklasse

Objectgeoriënteerd programmeren in Python

Klassen als blauwdrukken

  • Klasse: blauwdruk voor objecten met mogelijke toestanden en gedragingen

klantklasse die zich vertakt naar klantobjecten

Objectgeoriënteerd programmeren in Python

Objecten in Python

  • Alles in Python is een object
  • Elk object heeft een klasse
  • Gebruik type() om de klasse te vinden
import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray
Object Klasse
5 int
"Hallo" str
pd.DataFrame() DataFrame
np.mean functie
... ...
Objectgeoriënteerd programmeren in Python

Attributen en methoden

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

# vorm attribuut a.shape
(4,)

 

  • Gebruik obj. om toegang te krijgen tot attributen en methoden
Gedrag ↔ methoden
import numpy as np
a = np.array([1,2,3,4])

# herindelingsmethode a.reshape(2,2)
array([[1, 2],
       [3, 4]])
Objectgeoriënteerd programmeren in Python

Object = attributen + methoden

  • attribuut ↔ variabelenobj.mijn_attribuut,

  • methode ↔ functie()obj.mijn_methode().

import numpy as np
a = np.array([1,2,3,4])
dir(a)                # <--- lijst alle attributen en methoden
['T',
 '__abs__',
 ...
 'trace',
 'transpose',
 'var',
 'view']

Objectgeoriënteerd programmeren in Python

Laten we het herhalen!

Objectgeoriënteerd programmeren in Python

Preparing Video For Download...