Ce este POO?

Programare orientată pe obiecte în Python

Alex Yarosh

Content Quality Analyst @ DataCamp

 

Programare procedurală

 

  • Cod ca o secvență de pași
  • Excelent pentru analiza datelor
Programare orientată pe obiecte în Python

Gândire în secvențe

 

pictograme ale unei persoane în pat, urmată de o cafea și o servietă

 

o varietate de pictograme reprezentând multe activități

Programare orientată pe obiecte în Python

 

Programare procedurală

 

  • Cod ca o secvență de pași
  • Excelent pentru analiza datelor și scripturi

 

Programare orientată pe obiecte

 

  • Cod ca interacțiuni între obiecte
  • Excelent pentru construirea de framework-uri și instrumente
  • Cod ușor de întreținut și reutilizabil!
Programare orientată pe obiecte în Python

Obiectele ca structuri de date

$$\Large{\text{Obiect = stare + comportament}}$$

silueta unei persoane cu laptop, reprezentând un client

 

$$\text{\textbf{Încapsulare} - gruparea datelor cu codul care le prelucrează}$$

Programare orientată pe obiecte în Python

Clasele ca șabloane

  • Clasă : șablon pentru obiecte, definind stări și comportamente posibile

clasa customer

Programare orientată pe obiecte în Python

Clasele ca șabloane

  • Clasă : șablon pentru obiecte, definind stări și comportamente posibile

clasa customer ramificată în obiecte customer

Programare orientată pe obiecte în Python

Obiecte în Python

  • Totul în Python este un obiect
  • Fiecare obiect are o clasă
  • Utilizați type() pentru a afla clasa
import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray
Obiect Clasă
5 int
"Hello" str
pd.DataFrame() DataFrame
np.mean function
... ...
Programare orientată pe obiecte în Python

Atribute și metode

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

# atributul shape a.shape
(4,)

 

  • Utilizați obj. pentru a accesa atribute și metode
Comportament ↔ metode
import numpy as np
a = np.array([1,2,3,4])

# metoda reshape a.reshape(2,2)
array([[1, 2],
       [3, 4]])
Programare orientată pe obiecte în Python

Obiect = atribute + metode

  • atribut ↔ variabileobj.my_attribute,

  • metodă ↔ funcție()obj.my_method().

import numpy as np
a = np.array([1,2,3,4])
dir(a)                # <--- listează toate atributele și metodele
['T',
 '__abs__',
 ...
 'trace',
 'transpose',
 'var',
 'view']

Programare orientată pe obiecte în Python

Să recapitulăm!

Programare orientată pe obiecte în Python

Preparing Video For Download...