Об'єкт Python
Ан Об'єкт є екземпляром класу. Клас схожий на проект, тоді як екземпляр є копією класу з фактичними значеннями. Python — це об’єктно-орієнтована мова програмування, яка наголошує на об’єктах, тобто в основному на функціях. Об’єкти Python — це в основному інкапсуляція змінних даних і методів, що діють на ці дані, в одну сутність.
Примітка: Для отримання додаткової інформації, Класи та об’єкти Python
Розуміння об’єкта Python
Для кращого розуміння концепції об’єктів у Python. Давайте розглянемо приклад, багато хто з вас грали в CLASH OF CLANS, тому давайте припустимо, що базовий макет класу містить усі будівлі, захисні споруди, ресурси тощо. На основі цих описів ми створюємо село, тут село є об’єктом у Python.
Синтаксис:
obj = MyClass() print(obj.x)
Екземпляр визначення представляють виділення пам'яті, необхідного для зберігання фактичних даних змінних. Щоразу, коли ви створюєте об’єкт класу, створюється копія кожної змінної даних, визначеної в цьому класі. Простою мовою можна сказати, що кожен об’єкт класу має власну копію членів даних, визначених у цьому класі.
Створення об’єкта Python
Робота програми: Audi = Автомобілі()
- Блок пам'яті виділяється в купі. Розмір виділеної пам'яті визначається атрибутами та методами, доступними в цьому класі (Cars).
- Після виділення блоку пам'яті спеціальний метод __гарячий__ () викликається внутрішньо. Початкові дані зберігаються у змінних за допомогою цього методу.
- Розташування адреси виділеної пам’яті екземпляра повертається об’єкту (Cars).
- Місце пам'яті передається себе .
Python3
class> Cars:> > def> __init__(> self> , m, p):> > self> .model> => m> > self> .price> => p> Audi> => Cars(> 'R8'> ,> 100000> )> print> (Audi.model)> print> (Audi.price)> |
Вихід:
R8 100000
Доступ до члена класу за допомогою об’єкта:
Змінні та методи класу доступні за допомогою об’єктів класу або екземплярів у Python.
Синтаксис:
obj_name.var_name Audi.model obj_name.method_name() Audi.ShowModel(); obj_name.method_name(parameter_list) Audi.ShowModel(100);
приклад 1:
Python3
# Python program to create instance> # variables inside methods> > class> Car:> > > # Class Variable> > vehicle> => 'car'> > > # The init method or constructor> > def> __init__(> self> , model):> > > # Instance Variable> > self> .model> => model> > > # Adds an instance variable> > def> setprice(> self> , price):> > self> .price> => price> > > # Retrieves instance variable> > def> getprice(> self> ):> > return> self> .price> > # Driver Code> Audi> => Car(> 'R8'> )> Audi.setprice(> 1000000> )> print> (Audi.getprice())> |
Вихід:
1000000
приклад 2:
Python3
class> Car:> > > # Class Variable> > vehicle> => 'Car'> > > # The init method or constructor> > def> __init__(> self> , model, price):> > > # Instance Variable> > self> .model> => model> > self> .price> => price> > # Objects of class> Audi> => Car(> 'R8'> ,> 100000> )> BMW> => Car(> 'I8'> ,> 10000000> )> print> (> 'Audi details:'> )> print> (> 'Audi is a'> , Audi.vehicle)> print> (> 'Model: '> , Audi.model)> print> (> 'price: '> , Audi.price)> print> (> '
BMW details:'> )> print> (> 'BMW is a'> , BMW.vehicle)> print> (> 'Model: '> , BMW.model)> print> (> 'Color: '> , BMW.price)> # Class variables can be> # accessed using class> # name also> print> (> '
Accessing class variable using class name'> )> print> (Car.vehicle)> # or> print> (Audi.vehicle)> # or> print> (BMW.vehicle)> |
Вихід:
Audi details: Audi is a Car Model: R8 price: 100000 BMW details: BMW is a Car Model: I8 Color: 10000000 Accessing class variable using class name Car Car Car
Власна змінна:
SELF — змінна за замовчуванням, яка містить адресу пам’яті поточного об’єкта в Python. На змінні екземпляра та методи можна посилатися за допомогою самозмінної. Коли об'єкт класу створюється, розташування пам'яті об'єкта міститься в його імені об'єкта. Ця область пам’яті передається SELF внутрішньо, оскільки SELF знає адресу пам’яті об’єкта, тому змінна та метод об’єкта доступні. Першим аргументом будь-якого методу об’єкта є SELF, тому що перший аргумент завжди є посиланням на об’єкт. Цей процес відбувається автоматично незалежно від того, дзвоните ви чи ні.
приклад:
Python3
class> Test:> > def> __init__(Myobject, a, b):> > Myobject.country> => a> > Myobject.capital> => b> > def> myfunc(abc):> > print> (> 'Capital of '> +> abc.country> +> ' is:'> +> abc.capital)> x> => Test(> 'India'> ,> 'Delhi'> )> x.myfunc()> |
Вихід:
Capital of India is: Delhi
Примітка: Для отримання додаткової інформації див self у класі Python
Видалення об’єкта в Python:
Властивість Python Object можна видалити за допомогою ключового слова del:
Синтаксис:
del obj_name.property
об'єкти також можна видалити за допомогою ключового слова del:
Синтаксис:
del obj_name