ООП в Python
ООП в Python - це підхід до програмування, який фокусується на використанні об’єктів і класів так само, як і інших загальних мов програмування. Об'єктами можуть бути будь-які реальні сутності. Python дозволяє розробникам розробляти додатки, використовуючи підхід ООП, з основним акцентом на повторне використання коду. Створювати класи та об'єкти в Python дуже просто.
Що таке клас?
Клас на Python - це логічне групування даних та функцій. Це дає свободу створювати структури даних, які містять довільний вміст і, отже, легкодоступні.
Наприклад, для будь-якого працівника банку, який хоче отримати дані клієнта в Інтернеті, перейде до класу клієнтів , де будуть перераховані всі його атрибути, такі як дані транзакції, деталі виведення та депозиту, непогашена заборгованість тощо.
У цьому підручнику ми дізнаємось,
- Як визначити класи Python
- Як працює спадщина
- Конструктори Python
Як визначити класи Python
Для визначення класу потрібно врахувати наступні моменти
Крок 1) У Python класи визначаються ключовим словом "Клас"
class myClass():
Крок 2) Усередині класів ви можете визначити функції або методи, які є частиною цього класу
def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
- Тут ми визначили метод1, який друкує "Guru99".
- Іншим методом, який ми визначили, є метод2, який друкує "Тестування програмного забезпечення" + SomeString. SomeString - це змінна, що надається методом виклику
Крок 3) Усе в класі з відступами, як і код у функції, циклі, операторі if тощо. Усе, що не має відступу, не входить у клас
ПРИМІТКА : Про використання "self" у Python
- Аргумент на власний розсуд відноситься до самого об’єкта. Звідси вживання слова self. Тож усередині цього методу self буде посилатися на конкретний екземпляр цього об’єкта, який експлуатується.
- Self - це назва, переважна за згодою Pythons для позначення першого параметра методів екземпляра в Python. Це частина синтаксису Python для доступу до членів об’єктів
Крок 4) Зробити об’єкт класу
c = myClass()
Крок 5) Викликати метод у класі
c.method1()c.method2(" Testing is fun")
- Зверніть увагу, що коли ми викликаємо метод1 або метод2, нам не потрібно вводити власне ключове слово. Це автоматично обробляється для нас середовищем виконання Python.
- Виконання Python передаватиме значення "self", коли ви викликаєте метод екземпляра, наприклад, навмисно чи ні,
- Вам просто потрібно подбати про несамостійні аргументи
Крок 6) Ось повний код
# Приклад файлу для роботи з класамиклас myClass ():def method1 (self):друк ("Guru99")def method2 (self, someString):print ("Тестування програмного забезпечення: + someString)def main ():# вправляти методи класуc = myClass ()c.method1 ()c.method2 ("Тестування - це весело")якщо __назва __ == "__основна__":основний ()
Як працює спадщина
Спадкування - це функція, яка використовується в об'єктно-орієнтованому програмуванні; це стосується визначення нового класу з меншою або відсутністю змін до існуючого класу. Новий клас називається похідним класом, а той, який він успадковує, називається базовим . Python підтримує успадкування; він також підтримує кілька спадкоємств . Клас може успадкувати атрибути та методи поведінки від іншого класу, який називається підкласом або класом спадкоємця.
Синтаксис успадкування Python
class DerivedClass(BaseClass):body_of_derived_class
Крок 1) Запустіть наступний код
# Приклад файлу для роботи з класамиклас myClass ():def method1 (self):друк ("Guru99")клас childClass (myClass):#def method1 (self):# myClass.method1 (self);#print ("метод ChildClass1")def method2 (self):print ("метод childClass2")def main ():# вправляти методи класуc2 = childClass ()c2.method1 ()# c2.method2 ()якщо __назва __ == "__основна__":основний ()
Зверніть увагу, що в childClass, method1 не визначений, але він походить від батьківського myClass. Результат - "Guru99".
Крок 2) Розкоментуйте рядок №8 і 10. Запустіть код
Тепер метод 1 визначений у childClass, і результат "childClass Method1" правильно показаний.
Крок 3) Рядок для коментарів №9. Запустіть код
Ви можете викликати метод батьківського класу, використовуючи синтаксис
ParentClassName.MethodName(self)
У нашому випадку ми дзвонимо, myClass.method1 (self) і Guru99 друкується, як очікувалося
Крок 4 ) Рядок для коментарів №19. Запустіть код.
Викликається метод 2 дочірнього класу і друкується "childClass method2", як очікувалося.
Конструктори Python
Конструктор - це функція класу, яка створює екземпляр об’єкта за попередньо визначеними значеннями.
Починається з подвійного підкреслення (_). Це метод __init __ ()
У наведеному нижче прикладі ми беремо ім'я користувача за допомогою конструктора.
class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()
Результатом буде:
Ласкаво просимо до Guru99, Алекс
Приклад Python 2
Вище наведені приклади Python 3. Якщо ви хочете запустити Python 2, розгляньте наступний код.
# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass myClass():def method1(self):print "Guru99"class childClass(myClass):#def method1(self):#myClass.method1(self);#print "childClass Method1"def method2(self):print "childClass method2"def main():# exercise the class methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()
Короткий зміст:
"Клас" - це логічне групування функцій і даних. Клас Python забезпечує всі стандартні функції об’єктно-орієнтованого програмування.
- Механізм успадкування класу
- Похідний клас, який замінює будь-який метод свого базового класу
- Метод може викликати метод базового класу з тим самим іменем
- Класи Python визначається ключовими словами «клас» сам по собі
- Усередині класів ви можете визначити функції або методи, які є частиною класу
- Усе в класі має відступ, як і код у функції, циклі, операторі if тощо.
- Аргумент self у Python відноситься до самого об'єкта. Self - це назва, переважна за згодою Pythons для позначення першого параметра методів екземпляра в Python
- Виконавча програма Python автоматично передає значення "self", коли ви викликаєте метод екземпляра, наприклад, навмисно чи ні,
- У Python клас може успадкувати атрибути та методи поведінки від іншого класу, який називається підкласом або класом спадкоємця.