Vad är OOP?

Objektorienterad programmering i Python

Alex Yarosh

Content Quality Analyst @ DataCamp

 

Procedurell programmering

 

  • Kod som en sekvens av steg
  • Utmärkt för dataanalys
Objektorienterad programmering i Python

Tänka i sekvenser

 

ikoner som visar en person i säng, sedan en kaffekopp och sedan en portfölj

 

ett urval av ikoner som representerar många aktiviteter

Objektorienterad programmering i Python

 

Procedurell programmering

 

  • Kod som en sekvens av steg
  • Utmärkt för dataanalys och skript

 

Objektorienterad programmering

 

  • Kod som interaktioner mellan objekt
  • Utmärkt för att bygga ramverk och verktyg
  • Underhållsbar och återanvändbar kod!
Objektorienterad programmering i Python

Objekt som datastrukturer

$$\Large{\text{Object = state + behavior}}$$

silhuett av en person med en laptop som representerar en kund

 

$$\text{\textbf{Encapsulation} - bundling data with code operating on it}$$

Objektorienterad programmering i Python

Klasser som ritningar

  • Klass : ritning för objekt som beskriver möjliga tillstånd och beteenden

kundklass

Objektorienterad programmering i Python

Klasser som ritningar

  • Klass : ritning för objekt som beskriver möjliga tillstånd och beteenden

kundklass som förgrenar sig till kundobjekt

Objektorienterad programmering i Python

Objekt i Python

  • Allt i Python är ett objekt
  • Varje objekt har en klass
  • Använd type() för att hitta klassen
import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray
Objekt Klass
5 int
"Hello" str
pd.DataFrame() DataFrame
np.mean function
... ...
Objektorienterad programmering i Python

Attribut och metoder

Tillstånd ↔ attribut
import numpy as np
a = np.array([1,2,3,4])

# shape attribute a.shape
(4,)

 

  • Använd obj. för att komma åt attribut och metoder
Beteende ↔ metoder
import numpy as np
a = np.array([1,2,3,4])

# reshape method a.reshape(2,2)
array([[1, 2],
       [3, 4]])
Objektorienterad programmering i Python

Objekt = attribut + metoder

  • attribut ↔ variablerobj.my_attribute,

  • metod ↔ funktion()obj.my_method().

import numpy as np
a = np.array([1,2,3,4])
dir(a)                # <--- list all attributes and methods
['T',
 '__abs__',
 ...
 'trace',
 'transpose',
 'var',
 'view']

Objektorienterad programmering i Python

Nu kör vi en övning!

Objektorienterad programmering i Python

Preparing Video For Download...