logo

Класове и обекти в Python

Python е обектно-ориентиран език за програмиране, който предлага класове, които са мощен инструмент за писане на многократно използваем код. За да се опишат обекти със споделени характеристики и поведение, се използват класове. В тази статия ще разгледаме идеите на Python за класове и обекти.

Класове в Python:

В Python класът е дефиниран от потребителя тип данни, който съдържа както самите данни, така и методите, които могат да се използват за тяхното манипулиране. В известен смисъл класовете служат като шаблон за създаване на обекти. Те предоставят характеристиките и операциите, които обектите ще използват.

Да предположим, че един клас е прототип на сграда. Сградата съдържа всички детайли за пода, стаите, вратите, прозорците и т.н. можем да направим колкото си искаме сгради, въз основа на тези детайли. Следователно сградата може да се разглежда като клас и можем да създадем колкото се може повече обекти от този клас.

Създаване на класове в Python

В Python клас може да бъде създаден с помощта на ключовата дума class, последвана от името на класа. Синтаксисът за създаване на клас е даден по-долу.

Синтаксис

 class ClassName: #statement_suite 

В Python трябва да забележим, че всеки клас е свързан с документационен низ, който може да бъде достъпен чрез използване .__doc__. Класът съдържа набор от изявления, включващ дефиниции на полета, конструктор, функция и т.н.

Пример:

Код:

възраст на вики каушал
 class Person: def __init__(self, name, age): # This is the constructor method that is called when creating a new Person object # It takes two parameters, name and age, and initializes them as attributes of the object self.name = name self.age = age def greet(self): # This is a method of the Person class that prints a greeting message print('Hello, my name is ' + self.name) 

Името и възрастта са двете свойства на класа Person. Освен това има функция, наречена greet, която отпечатва поздрав.

Обекти в Python:

Обектът е конкретен екземпляр от клас с уникални характеристики и функции. След като класът е създаден, можете да създавате обекти въз основа на него. С помощта на конструктора на клас можете да създадете обект от клас в Python. Атрибутите на обекта се инициализират в конструктора, който е специална процедура с име __init__.

Синтаксис:

 # Declare an object of a class object_name = Class_Name(arguments) 

Пример:

азбука в цифри

Код:

 class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print('Hello, my name is ' + self.name) # Create a new instance of the Person class and assign it to the variable person1 person1 = Person('Ayan', 25) person1.greet() 

Изход:

 'Hello, my name is Ayan' 

Самопараметърът

Собственият параметър се отнася до текущия екземпляр на класа и има достъп до променливите на класа. Можем да използваме всичко вместо self, но това трябва да е първият параметър на всяка функция, която принадлежи към класа.

_ _init_ _ метод

За да се създаде екземпляр на клас в Python, се извиква специфична функция, наречена __init__. Въпреки че се използва за задаване на атрибутите на обекта, той често се нарича конструктор.

Самостоятелният аргумент е единственият, който се изисква от метода __init__. Този аргумент се отнася до новогенерирания екземпляр на класа. За да инициализирате стойностите на всеки атрибут, свързан с обектите, можете да декларирате допълнителни аргументи в метода __init__.

Променливи на класа и екземпляра

Всички екземпляри на клас обменят класови променливи. Те функционират независимо от методите на класа и могат да бъдат достъпни чрез използването на името на класа. Ето една илюстрация:

Код:

 class Person: count = 0 # This is a class variable def __init__(self, name, age): self.name = name # This is an instance variable self.age = age Person.count += 1 # Accessing the class variable using the name of the class person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(Person.count) 

Изход:

 2 

Докато променливите на екземпляра са специфични за всеки екземпляр на клас. Те се определят с помощта на собствения аргумент в метода __init__. Ето една илюстрация:

Код:

сортиране на масив java
 class Person: def __init__(self, name, age): self.name = name # This is an instance variable self.age = age person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(person1.name) print(person2.age) 

Изход:

 Ayan 30 

Променливите на класа се създават отделно от всички методи на класа и се споделят от всички копия на класа. Всеки екземпляр на клас има свои собствени променливи на екземпляр, които са посочени в метода __init__, използвайки собствения аргумент.

Заключение:

В заключение, понятията за класове и обекти на Python са силни идеи, които ви позволяват да пишете програми за многократна употреба. Можете да комбинирате информация и възможности в един обект, който може да се използва за изграждане на много обекти, като създадете клас. Използвайки нотацията с точка, можете да получите достъп до методите и свойствата на обект, след като той е бил създаден. Можете да разработите по-логичен, ефективен и управляем код, като разберете класовете и обектите на Python.