Vad är OOP?

Introduktion till objektorienterad programmering i Python

George Boorman

Curriculum Manager, DataCamp

Procedurell programmering

 

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

Trappa

1 Image source: https://unsplash.com/@tateisimikito
Introduktion till objektorienterad programmering i Python

Att tänka i sekvenser

 

ikoner av en person i säng följt av en kaffeikon följt av en portföljikon

 

ett urval av ikoner som representerar många aktiviteter

Introduktion till objektorienterad programmering i Python

Procedurell programmering

 

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

Objektorienterad programmering

 

  • Kod som interaktioner mellan objekt
  • Utmärkt för att bygga programvara
  • Underhållbar och återanvändbar kod!
Introduktion till objektorienterad programmering i Python

Objekt

$$\Large{\text{Object = data + functionality}}$$

silhuett av en person med en bärbar dator som representerar en kund

                                                          Tillstånd - ett objekts data

                                                  Beteende - ett objekts funktionalitet

Introduktion till objektorienterad programmering i Python

Objekt i Python

  • Allt i Python är ett objekt
Objekt Typ
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Introduktion till objektorienterad programmering i Python

Klasser som mallar

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

kundklass

Introduktion till objektorienterad programmering i Python

Klasser som mallar

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

kundklass som förgrenar sig till kundobjekt

Introduktion till objektorienterad programmering i Python

Klasser i Python

  • Python-objekt av samma typ beter sig på samma sätt
  • lists är en klass
    • Skapas med kommaseparerade värden [1, 2, 3, 4, 5]
    • Delar samma metoder, t.ex. .append()
  • Använd type() för att hitta klassen
type([1, 2, 3, 4, 5])
<class 'list'>
Introduktion till objektorienterad programmering i Python

Attribut och metoder

Tillstånd ↔ attribut
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# shape attribute df.shape
(3, 2)
  • Använd obj. för att komma åt attribut och metoder
Beteende ↔ metoder
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# head method df.head()
   a  b
0  1  4
1  2  5
2  3  6
Introduktion till objektorienterad programmering i Python

Visa attribut och metoder

# Display attributes and methods
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Display attributes and methods
dir(list)
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
Introduktion till objektorienterad programmering i Python

Sammanfattning

Term Definition
Klass En mall/blueprint för att bygga objekt
Objekt En kombination av data och funktionalitet; En instans av en klass
Tillstånd Data kopplad till ett objekt, tilldelad via attribut
Beteende Ett objekts funktionalitet, definierad via metoder
Introduktion till objektorienterad programmering i Python

Nu kör vi en övning!

Introduktion till objektorienterad programmering i Python

Preparing Video For Download...