Що таке OOP?

Вступ до обʼєктно-орієнтованого програмування в Python

George Boorman

Curriculum Manager, DataCamp

Процедурне програмування

 

  • Код як послідовність кроків
  • Чудово підходить для аналізу даних

Сходи

1 Image source: https://unsplash.com/@tateisimikito
Вступ до обʼєктно-орієнтованого програмування в Python

Мислення послідовностями

 

іконки: людина в ліжку, далі кава, далі портфель

 

набір іконок, що представляють різні дії

Вступ до обʼєктно-орієнтованого програмування в Python

Процедурне програмування

 

  • Код як послідовність кроків
  • Чудово підходить для аналізу даних

Об'єктно-орієнтоване програмування

 

  • Код як взаємодія об'єктів
  • Чудово підходить для створення ПЗ
  • Супроводжуваний і багаторазово придатний код!
Вступ до обʼєктно-орієнтованого програмування в Python

Об'єкти

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

силует людини з ноутбуком, що представляє клієнта

                                                          Стан — дані об'єкта

                                                  Поведінка — функціональність об'єкта

Вступ до обʼєктно-орієнтованого програмування в Python

Об'єкти в Python

  • У Python усе є об'єктом
Об'єкт Тип
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Вступ до обʼєктно-орієнтованого програмування в Python

Класи як креслення

  • Клас: креслення для об'єктів, що задає можливі стани й поведінки

клас клієнта

Вступ до обʼєктно-орієнтованого програмування в Python

Класи як креслення

  • Клас: креслення для об'єктів, що задає можливі стани й поведінки

клас клієнта, що породжує об'єкти клієнтів

Вступ до обʼєктно-орієнтованого програмування в Python

Класи в Python

  • Об'єкти одного типу в Python поводяться однаково
  • lists — це клас
    • Створюються через значення, розділені комами: [1, 2, 3, 4, 5]
    • Мають спільні методи, напр., .append()
  • Використайте type(), щоб дізнатись клас
type([1, 2, 3, 4, 5])
<class 'list'>
Вступ до обʼєктно-орієнтованого програмування в Python

Атрибути й методи

Стан ↔ атрибути
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# атрибут shape df.shape
(3, 2)
  • Використайте obj., щоб звертатися до атрибутів і методів
Поведінка ↔ методи
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# метод head df.head()
   a  b
0  1  4
1  2  5
2  3  6
Вступ до обʼєктно-орієнтованого програмування в Python

Відображення атрибутів і методів

# Показати атрибути й методи
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Показати атрибути й методи
dir(list)
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
Вступ до обʼєктно-орієнтованого програмування в Python

Шпаргалка

Термін Визначення
Клас Креслення/шаблон для створення об'єктів
Об'єкт Поєднання даних і функціональності; Екземпляр класу
Стан Дані об'єкта, задані через атрибути
Поведінка Функціональність об'єкта, визначена через методи
Вступ до обʼєктно-орієнтованого програмування в Python

Повторимо!

Вступ до обʼєктно-орієнтованого програмування в Python

Preparing Video For Download...