Czym jest OOP?

Wprowadzenie do programowania obiektowego w Pythonie

George Boorman

Curriculum Manager, DataCamp

Programowanie proceduralne

 

  • Kod jako sekwencja kroków
  • Doskonałe do analizy danych

Schody

1 Image source: https://unsplash.com/@tateisimikito
Wprowadzenie do programowania obiektowego w Pythonie

Myślenie sekwencyjne

 

ikony osoby w łóżku, kawy i teczki

 

zestaw ikon reprezentujących różne czynności

Wprowadzenie do programowania obiektowego w Pythonie

Programowanie proceduralne

 

  • Kod jako sekwencja kroków
  • Doskonałe do analizy danych

Programowanie obiektowe

 

  • Kod jako interakcje obiektów
  • Doskonałe do budowania oprogramowania
  • Kod wielokrotnego użytku i łatwy w utrzymaniu!
Wprowadzenie do programowania obiektowego w Pythonie

Obiekty

$$\Large{\text{Obiekt = dane + funkcjonalność}}$$

sylwetka osoby z laptopem reprezentująca klienta

                                                          Stan - dane obiektu

                                                  Zachowanie - funkcjonalność obiektu

Wprowadzenie do programowania obiektowego w Pythonie

Obiekty w Pythonie

  • Wszystko w Pythonie jest obiektem
Obiekt Typ
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Wprowadzenie do programowania obiektowego w Pythonie

Klasy jako szablony

  • Klasa: szablon obiektów określający możliwe stany i zachowania

klasa klienta

Wprowadzenie do programowania obiektowego w Pythonie

Klasy jako szablony

  • Klasa: szablon obiektów określający możliwe stany i zachowania

klasa klienta rozgałęziająca się na obiekty klientów

Wprowadzenie do programowania obiektowego w Pythonie

Klasy w Pythonie

  • Obiekty Pythona tego samego typu zachowują się tak samo
  • lists to klasa
    • Tworzona z wartości oddzielonych przecinkami [1, 2, 3, 4, 5]
    • Współdzielą te same metody, np. .append()
  • Użyj type(), aby znaleźć klasę
type([1, 2, 3, 4, 5])
<class 'list'>
Wprowadzenie do programowania obiektowego w Pythonie

Atrybuty i metody

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

# shape attribute df.shape
(3, 2)
  • Użyj obj. do dostępu do atrybutów i metod
Zachowanie ↔ metody
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
Wprowadzenie do programowania obiektowego w Pythonie

Wyświetlanie atrybutów i metod

# 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']
Wprowadzenie do programowania obiektowego w Pythonie

Ściągawka

Termin Definicja
Klasa Szablon używany do budowania obiektów
Obiekt Połączenie danych i funkcjonalności; instancja klasy
Stan Dane powiązane z obiektem, przypisane przez atrybuty
Zachowanie Funkcjonalność obiektu, definiowana przez metody
Wprowadzenie do programowania obiektowego w Pythonie

Powtórzenie!

Wprowadzenie do programowania obiektowego w Pythonie

Preparing Video For Download...