Python Класи та об’єкти
Python Класи/Об’єкти
Python — це об’єктно-орієнтована мова програмування.
Майже все в Python є об’єктом зі своїми властивостями та методами.
Клас схожий на конструктор об’єктів або "blueprint" ("схему") для створення об’єктів.
Створити клас
Щоб створити клас, використовуйте ключове слово class:
Створити об’єкт
Тепер ми можемо використовувати клас під назвою 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()
Спробуйте самі »
Змінити властивості об’єкта
Ви можете змінювати властивості таких об’єктів:
Видалити властивості об’єкта
Ви можете видалити властивості об’єктів за допомогою ключового слова del:
Видалити об’єкти
Ви можете видалити об’єкти за допомогою ключового слова del:
Інструкція pass
Визначення class не можуть бути порожніми, але якщо з якоїсь причини у вас є визначення class без вмісту, введіть інструкцію pass, щоб уникнути помилки.

