Клас — це визначений користувачем план або прототип, з якого створюються об’єкти. Класи забезпечують засоби групування даних і функціональних можливостей. Створення нового класу створює новий тип об’єкта, що дозволяє створювати нові екземпляри цього типу. Кожен екземпляр класу може мати атрибути, приєднані до нього для підтримки його стану. Екземпляри класу також можуть мати методи (визначені їхнім класом) для зміни свого стану.
Щоб зрозуміти необхідність створення класу та об’єкта в Python Давайте розглянемо приклад, скажімо, ви хочете відстежити кількість собак, які можуть мати різні атрибути, такі як порода та вік. Якщо використовується список, першим елементом може бути порода собаки, а другим — її вік. Припустімо, що є 100 різних собак, тоді як ви дізнаєтесь, який елемент яким має бути? Що, якби ви хотіли додати цим собакам інші властивості? Тут бракує організації, і це саме те, що потрібно для занять.
Синтаксис: Визначення класу
class ClassName: # Statement>
Синтаксис: Визначення об'єкта
obj = ClassName() print(obj.atrr)>
Клас створює визначений користувачем Деякі моменти щодо класу Python:
- Класи створюються за ключовим словом class.
- Атрибути - це змінні, які належать до класу.
- Атрибути завжди загальнодоступні, і до них можна отримати доступ за допомогою оператора крапка (.). Напр.: Мій клас.Мяттрибут
Створення класу Python
Тут ключове слово class вказує на те, що ви створюєте клас, за яким слідує назва класу (у цьому випадку Dog).
місія неможлива всі фільмиPython3
class Dog: sound = 'bark'>
Об'єкт класу Python
Об’єкт – це екземпляр класу. Клас схожий на проект, тоді як екземпляр є копією класу з фактичні значення . Це вже не ідея, це справжня собака, як собака породи мопс, якій сім років. Ви можете мати багато собак, щоб створити багато різних екземплярів, але без класу як провідника ви б загубилися, не знаючи, яка інформація потрібна.
Об'єкт складається з:
- штат: Він представлений атрибутами об’єкта. Він також відображає властивості об'єкта.
- Поведінка: Він представлений методами об'єкта. Він також відображає реакцію об'єкта на інші об'єкти.
- Ідентичність: Він дає унікальне ім’я об’єкту та дозволяє одному об’єкту взаємодіяти з іншими об’єктами.

Оголошення об’єктів класу (також називається створення екземпляра класу)
Коли об’єкт класу створюється, клас називається екземпляром. Усі екземпляри мають спільні атрибути та поведінку класу. Але значення цих атрибутів, тобто стану, є унікальними для кожного об’єкта. Один клас може мати будь-яку кількість екземплярів.
приклад:

Приклад класу та об’єкта Python
Створення об’єкта в Python передбачає створення екземпляра класу для створення нового екземпляра цього класу. Цей процес також називають інстанціюванням об’єкта.
Python3 # Python3 program to # demonstrate instantiating # a class class Dog: # A simple class # attribute attr1 = 'mammal' attr2 = 'dog' # A sample method def fun(self): print('I'm a', self.attr1) print('I'm a', self.attr2) # Driver code # Object instantiation Rodger = Dog() # Accessing class attributes # and method through objects print(Rodger.attr1) Rodger.fun()> Вихід:
mammal I'm a mammal I'm a dog>
У наведеному вище прикладі створюється об’єкт, який по суті є собакою на ім’я Роджер. Цей клас має лише два атрибути класу, які говорять нам, що Роджер — це собака та ссавець.
Пояснення:
У цьому прикладі ми створюємо клас Dog і створили дві змінні класу attr1 і attr2 . Ми створили метод під назвою весело() який повертає рядок I’m a, {attr1} і I’m a, {attr2}. Ми створили об’єкт класу Dog і друкуємо на attr1 об'єкта. Нарешті, ми дзвонимо весело() функція .
Самопараметр
Коли ми викликаємо метод цього об’єкта як myobject.method(arg1, arg2), це автоматично перетворюється Python на MyClass.method(myobject, arg1, arg2) – це все особливе себе є про.
Python3 class GFG: def __init__(self, name, company): self.name = name self.company = company def show(self): print('Hello my name is ' + self.name+' and I' + ' work in '+self.company+'.') obj = GFG('John', 'GeeksForGeeks') obj.show()> The себе Параметр не називає його Self, Ви можете використовувати будь-яке інше ім’я замість нього. Тут ми змінюємо self на слово some, і результат буде тим самим.
Python3 class GFG: def __init__(somename, name, company): somename.name = name somename.company = company def show(somename): print('Hello my name is ' + somename.name + ' and I work in '+somename.company+'.') obj = GFG('John', 'GeeksForGeeks') obj.show()> Вихід: Вихід для обох кодів буде однаковим.
Hello my name is John and I work in GeeksForGeeks.>
Пояснення:
У цьому прикладі ми створюємо клас GFG і створили ім'я та фірма змінні екземпляра в конструкторі. Ми створили метод під назвою сказати привіт() який повертає рядок Привіт, мене звати + {name} + і я працюю в +{company}+.. Ми створили об’єкт класу person і передаємо ім’я Джон і компанія GeeksForGeeks до змінної екземпляра. Нарешті, ми дзвонимо показати() класу.
Заява про проходження
На виконання програми не впливає пропуск бездіяльність заяви. Це просто дозволяє програмі пропустити цей розділ коду, не роблячи нічого. Він часто використовується, коли синтаксичні обмеження Python вимагають дійсний оператор, але жодного корисного коду не потрібно виконувати.
Python3 class MyClass: pass>
Метод __init__().
The __гарячий__ метод подібний до конструкторів у C++ і Java . Конструктори використовуються для ініціалізації стану об’єкта. Як і методи, конструктор також містить набір інструкцій (тобто інструкцій), які виконуються під час створення об’єкта. Він запускається, як тільки створюється екземпляр об’єкта класу. Метод корисний для виконання будь-якої ініціалізації, яку ви хочете виконати з вашим об’єктом.
Python3 # Sample class with init method class Person: # init method or constructor def __init__(self, name): self.name = name # Sample Method def say_hi(self): print('Hello, my name is', self.name) p = Person('Nikhil') p.say_hi()> Вихід:
Hello, my name is Nikhil>
Пояснення:
У цьому прикладі ми створюємо клас Person і створили a назва змінна екземпляра в конструкторі. Ми створили метод під назвою say_hi(), який повертає рядок Hello, my name is {name}. Ми створили об’єкт класу person і передаємо ім’я Nikhil змінній екземпляра. Нарешті, ми викликаємо say_hi() класу.
Метод __str__().
Python має окремий метод під назвою __str__() . який використовується для визначення того, як a клас об'єкт повинен бути представлений у вигляді рядка. Його часто використовують, щоб надати об’єкту зрозуміле для людини текстове представлення, яке корисне для журналювання, налагодження або показу користувачам інформації про об’єкт. Коли об’єкт класу використовується для створення рядка за допомогою вбудованих функцій print() і str(), __str__() функція використовується автоматично. Ви можете змінити спосіб об’єктів a клас представлені в рядках шляхом визначення __str__() метод.
Python3 class GFG: def __init__(self, name, company): self.name = name self.company = company def __str__(self): return f'My name is {self.name} and I work in {self.company}.' my_obj = GFG('John', 'GeeksForGeeks') print(my_obj)> Вихід:
My name is John and I work in GeeksForGeeks.>
Пояснення:
У цьому прикладі ми створюємо клас під назвою GFG. У цьому класі ми створюємо дві змінні екземпляра ім'я та фірма . У методі __str__() ми повертаємо назва змінна екземпляра і компанії змінна екземпляра. Нарешті, ми створюємо об’єкт класу GFG і викликаємо метод __str__().
Змінні класу та екземпляра
Змінні екземпляра призначені для даних, унікальних для кожного екземпляра, а змінні класу призначені для атрибутів і методів, спільних для всіх екземплярів класу. Змінні екземпляра — це змінні, значення яких присвоюється всередині конструктора або методу з self, тоді як змінні класу — це змінні, значення яких присвоюється в класі.
Визначення змінних екземплярів за допомогою конструктора.
Python3 # Python3 program to show that the variables with a value # assigned in the class declaration, are class variables and # variables inside methods and constructors are instance # variables. # Class for Dog class Dog: # Class Variable animal = 'dog' # The init method or constructor def __init__(self, breed, color): # Instance Variable self.breed = breed self.color = color # Objects of Dog class Rodger = Dog('Pug', 'brown') Buzo = Dog('Bulldog', 'black') print('Rodger details:') print('Rodger is a', Rodger.animal) print('Breed: ', Rodger.breed) print('Color: ', Rodger.color) print('
Buzo details:') print('Buzo is a', Buzo.animal) print('Breed: ', Buzo.breed) print('Color: ', Buzo.color) # Class variables can be accessed using class # name also print('
Accessing class variable using class name') print(Dog.animal)> Вихід :
Rodger details: Rodger is a dog Breed: Pug Color: brown Buzo details: Buzo is a dog Breed: Bulldog Color: black Accessing class variable using class name dog>
Пояснення:
Клас з назвою Dog визначається за допомогою a змінна класу тварина, налаштована на струнну собаку. Змінні класу є спільними для всіх об’єктів класу, і до них можна отримати доступ за допомогою імені класу. Клас Dog має дві змінні екземпляра порода і окрас. Пізніше ми створюємо два об'єкти Пес класу, і ми друкуємо значення обох об’єктів зі змінною класу під назвою тварина.
Визначення змінних екземплярів за допомогою звичайного методу:
Python3 # Python3 program to show that we can create # instance variables inside methods # Class for Dog class Dog: # Class Variable animal = 'dog' # The init method or constructor def __init__(self, breed): # Instance Variable self.breed = breed # Adds an instance variable def setColor(self, color): self.color = color # Retrieves instance variable def getColor(self): return self.color # Driver Code Rodger = Dog('pug') Rodger.setColor('brown') print(Rodger.getColor())> Вихід:
brown>
Пояснення:
У цьому прикладі ми визначили клас під назвою Пес і ми створили a змінна класу тварина. Ми створили екземпляр змінної breed у конструктор . Клас Dog складається з двох методів setColor і getColo r, вони використовуються для створення та ініціалізації змінної екземпляра та отримання значення змінної екземпляра. Ми зробили об'єкт Пес класу, і ми встановили значення змінної екземпляра на коричневий колір, і ми друкуємо значення в терміналі.