НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

Python Підручник

Python СТАРТ Python Інтро Python Встановлення Python Синтаксис Python Коментарі Python Змінні Python Типи даних Python Числа Python Кастинг Python Рядки Python Булеві Python Оператори Python Списки Python Кортежі Python Набори Python Словники Python If...Else Python Цикли While Python Цикли For Python Функції Python Лямбда Python Масиви Python Класи/Об’єкти Python Наслідування Python Ітератори Python Поліморфізм Python Область дії (видимості) Python Модулі Python Дати Python Математика Python JSON Python RegEx Python PIP Python Try...Except Python Користувацький ввод Python Форматування рядка

Обробка файлів

Python Обробка файлів Python Читання файлів Python Запис/Створення файлів Python Видалення файлів

Python Modules

NumPy Tutorial Pandas Tutorial SciPy Tutorial Django Tutorial

Python Matplotlib

Matplotlib Інтро Matplotlib Початок роботи Matplotlib Pyplot Matplotlib Складання графіка Matplotlib Маркери Matplotlib Лінія Matplotlib Лейбли Matplotlib Сітка Matplotlib Subplots Matplotlib Scatter Matplotlib Бари Matplotlib Гістограми Matplotlib Кругові діаграми

Машинне навчання

Початок роботи Середній режим Стандартне відхилення Перцентиль Розподіл даних Звичайний розподіл даних Діаграма розкиду Лінійна регресія Поліноміальна регресія Множинна регресія Шкала Тренування/Тест Дерево рішень Confusion Matrix Hierarchical Clustering Logistic Regression Grid Search Categorical Data K-means Bootstrap Aggregation Cross Validation AUC - ROC Curve K-nearest neighbors

Python MySQL

MySQL Початок роботи MySQL CREATE DATABASE MySQL CREATE TABLE MySQL INSERT INTO MySQL SELECT MySQL WHERE MySQL ORDER BY MySQL DELETE FROM MySQL DROP TABLE MySQL UPDATE MySQL LIMIT MySQL JOIN

Python MongoDB

MongoDB Початок роботи MongoDB Створення бази даних MongoDB Створити колекцію MongoDB Вставити MongoDB Знайти MongoDB Запит MongoDB Сортувати MongoDB Видалити MongoDB Drop колекція MongoDB Оновлення MongoDB Ліміт

Python Reference

Python Огляд Python Вбудовані функції Python Рядкові методи Python Методи списку Python Словникові методи Python Кортежні методи Python Set методи Python Файлові методи Python Ключові слова Python Винятки Python Глосарій

Довідник модулів

Модуль Random Модуль Запитів Модуль Статистики Модуль Math Модуль cMath

Python Як зробити?

Видалити копії списків Обернути рядок Додати два числа

Python Приклади

Python Приклади Python Компілятор Python Вправи Python Вікторина Python Bootcamp Python Сертифікат

Python. W3Schools українською. Уроки для початківців

En Es

Python Класи та об’єкти


Python Класи/Об’єкти

Python — це об’єктно-орієнтована мова програмування.

Майже все в Python є об’єктом зі своїми властивостями та методами.

Клас схожий на конструктор об’єктів або "blueprint" ("схему") для створення об’єктів.


Створити клас

Щоб створити клас, використовуйте ключове слово class:

Приклад

Створіть клас під назвою MyClass із властивістю x:

class MyClass:
  x = 5
Спробуйте самі »

Створити об’єкт

Тепер ми можемо використовувати клас під назвою MyClass для створення об’єктів:

Приклад

Створіть об’єкт з іменем p1 і виведіть значення x:

p1 = MyClass()
print(p1.x)
Спробуйте самі »

Функція __init__()

Наведені вище приклади є класами та об’єктами в їх найпростішій формі, і вони не дуже корисні в реальних програмах.

Щоб зрозуміти значення класів, нам потрібно зрозуміти вбудовану функцію __init__().

Усі класи мають функцію під назвою __init__(), яка завжди виконується, коли клас ініціюється.

Використовуйте функцію __init__(), щоб призначити значення властивостям об’єкта або іншим операціям, які необхідно виконувати під час створення об’єкта:

Приклад

Створіть клас під назвою Person, скористайтеся функцією __init__(), щоб призначити значення імені та віку:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)

print(p1.name)
print(p1.age)
Спробуйте самі »

Примітка. Функція __init__() викликається автоматично кожного разу, коли клас використовується для створення нового об’єкта.


Функція __str__()

Функція __str__() керує тим, що має повертатися, коли об’єкт класу представлено у вигляді рядка.

Якщо функцію __str__() не встановлено, повертається рядкове представлення об’єкта:

Приклад

Рядкове представлення об’єкта WITHOUT функції __str__():

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)

print(p1)
Спробуйте самі »

Приклад

Рядкове представлення об’єкта WITH функції __str__():

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def __str__(self):
    return f"{self.name}({self.age})"

p1 = Person("John", 36)

print(p1)
Спробуйте самі »

Методи об’єктів

Об’єкти також можуть містити методи. Методи в об’єктах – це функції, які належать об’єкту.

Давайте створимо метод у класі Person:

Приклад

Вставте функцію, яка друкує привітання, і виконайте її на об’єкті p1:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

p1 = Person("John", 36)
p1.myfunc()
Спробуйте самі »

Примітка: Параметр self є посиланням на поточний екземпляр класу та використовується для доступу до змінних, які належать до класу.


Параметр self

Параметр self є посиланням на поточний екземпляр класу та використовується для доступу до змінних, які належать до класу.

Це не обов’язково повинно мати назву self, ви можете називати її як завгодно, але вона має бути першим параметром будь-якої функції в класі:

Приклад

Використовуйте слова mysillyobject та abc замість self:

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("John", 36)
p1.myfunc()
Спробуйте самі »

Змінити властивості об’єкта

Ви можете змінювати властивості таких об’єктів:

Приклад

Встановіть вік p1 до 40 років:

p1.age = 40
Спробуйте самі »

Видалити властивості об’єкта

Ви можете видалити властивості об’єктів за допомогою ключового слова del:

Приклад

Видаліть властивість age з об’єкта p1:

del p1.age
Спробуйте самі »

Видалити об’єкти

Ви можете видалити об’єкти за допомогою ключового слова del:

Приклад

Видалити об’єкт p1:

del p1
Спробуйте самі »

Інструкція pass

Визначення class не можуть бути порожніми, але якщо з якоїсь причини у вас є визначення class без вмісту, введіть інструкцію pass, щоб уникнути помилки.

Приклад

class Person:
  pass
Спробуйте самі »

Перевірте себе за допомогою вправ

Вправа:

Створіть клас під назвою MyClass:

 MyClass:
x = 5