Eine Klasse ist ein benutzerdefinierter Entwurf oder Prototyp, aus dem Objekte erstellt werden. Klassen bieten eine Möglichkeit, Daten und Funktionalität zu bündeln. Durch das Erstellen einer neuen Klasse wird ein neuer Objekttyp erstellt, sodass neue Instanzen dieses Typs erstellt werden können. Jeder Klasseninstanz können Attribute zur Beibehaltung ihres Zustands zugeordnet werden. Klasseninstanzen können auch (durch ihre Klasse definierte) Methoden zum Ändern ihres Zustands haben.
Die Notwendigkeit verstehen, eine Klasse und ein Objekt zu erstellen Python Betrachten wir ein Beispiel: Nehmen wir an, Sie möchten die Anzahl der Hunde verfolgen, die möglicherweise unterschiedliche Merkmale wie Rasse und Alter aufweisen. Wenn eine Liste verwendet wird, könnte das erste Element die Rasse des Hundes sein, während das zweite Element sein Alter darstellen könnte. Nehmen wir an, es gibt 100 verschiedene Hunde. Wie wollen Sie dann wissen, welches Element welches sein soll? Was wäre, wenn Sie diesen Hunden weitere Eigenschaften hinzufügen möchten? Hier mangelt es an Organisation und es ist genau der Bedarf an Unterricht.
Syntax: Klassendefinition
class ClassName: # Statement>
Syntax: Objektdefinition
obj = ClassName() print(obj.atrr)>
Die Klasse erstellt eine benutzerdefinierte Einige Punkte zur Python-Klasse:
- Klassen werden nach dem Schlüsselwort „Klasse“ erstellt.
- Attribute sind die Variablen, die zu einer Klasse gehören.
- Attribute sind immer öffentlich und können mit dem Punktoperator (.) aufgerufen werden. Beispiel: Meine Klasse.MeinAttribut
Erstellen einer Python-Klasse
Hier gibt das Schlüsselwort class an, dass Sie eine Klasse erstellen, gefolgt vom Namen der Klasse (in diesem Fall Dog).
Schriftgrößen in LatexPython3
class Dog: sound = 'bark'>
Objekt der Python-Klasse
Ein Objekt ist eine Instanz einer Klasse. Eine Klasse ist wie eine Blaupause, während eine Instanz eine Kopie der Klasse ist tatsächliche Werte . Es ist keine Idee mehr, es ist ein echter Hund, wie ein sieben Jahre alter Hund der Rasse Mops. Sie können viele Hunde haben, um viele verschiedene Instanzen zu erstellen, aber ohne die Klasse als Leitfaden wären Sie verloren und wüssten nicht, welche Informationen erforderlich sind.
Ein Objekt besteht aus:
- Zustand: Es wird durch die Attribute eines Objekts dargestellt. Es spiegelt auch die Eigenschaften eines Objekts wider.
- Verhalten: Es wird durch die Methoden eines Objekts dargestellt. Es spiegelt auch die Reaktion eines Objekts auf andere Objekte wider.
- Identität: Es gibt einem Objekt einen eindeutigen Namen und ermöglicht einem Objekt die Interaktion mit anderen Objekten.

Klassenobjekte deklarieren (auch Instanziieren einer Klasse genannt)
Wenn ein Objekt einer Klasse erstellt wird, wird die Klasse als instanziiert bezeichnet. Alle Instanzen teilen die Attribute und das Verhalten der Klasse. Aber die Werte dieser Attribute, d. h. der Zustand, sind für jedes Objekt einzigartig. Eine einzelne Klasse kann beliebig viele Instanzen haben.
Beispiel:

Beispiel einer Python-Klasse und eines Python-Objekts
Beim Erstellen eines Objekts in Python wird eine Klasse instanziiert, um eine neue Instanz dieser Klasse zu erstellen. Dieser Vorgang wird auch als Objektinstanziierung bezeichnet.
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()> Ausgabe:
mammal I'm a mammal I'm a dog>
Im obigen Beispiel wird ein Objekt erstellt, bei dem es sich im Wesentlichen um einen Hund namens Rodger handelt. Diese Klasse hat nur zwei Klassenattribute, die uns sagen, dass Rodger ein Hund und ein Säugetier ist.
Erläuterung :
In diesem Beispiel erstellen wir eine Dog-Klasse und haben zwei Klassenvariablen erstellt attr1 und attr2 . Wir haben eine Methode namens erstellt Spaß() Dies gibt die Zeichenfolge I’m a, {attr1} und I’m a, {attr2} zurück. Wir haben ein Objekt der Klasse Dog erstellt und drucken es aus attr1 des Objekts. Schließlich nennen wir die Spaß() Funktion .
Selbstparameter
Wenn wir eine Methode dieses Objekts als myobject.method(arg1, arg2) aufrufen, wird diese von Python automatisch in MyClass.method(myobject, arg1, arg2) umgewandelt – das ist das Besondere selbst handelt von.
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()> Der Selbst Der Parameter nennt es nicht „Selbst“. Sie können stattdessen einen beliebigen anderen Namen verwenden. Hier ändern wir das Wort „self“ in das Wort „jemand“ und die Ausgabe ist dieselbe.
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()> Ausgabe: Die Ausgabe für beide Codes ist gleich.
Hello my name is John and I work in GeeksForGeeks.>
Erläuterung:
In diesem Beispiel erstellen wir eine GFG-Klasse und haben die erstellt Name und Firma Instanzvariablen im Konstruktor. Wir haben eine Methode namens erstellt Sag Hallo() was die Zeichenfolge „Hallo, mein Name ist + {Name} + und ich arbeite in + {Firma} +“ zurückgibt. Wir haben ein Personenklassenobjekt erstellt und den Namen übergeben John und Company GeeksForGeeks zur Instanzvariablen. Schließlich nennen wir die zeigen() der Klasse.
Pass-Erklärung
Die Ausführung des Programms bleibt davon unberührt passieren Untätigkeit der Aussage. Es erlaubt dem Programm lediglich, diesen Abschnitt des Codes zu überspringen, ohne etwas zu tun. Es wird häufig verwendet, wenn die syntaktischen Einschränkungen von Python eine gültige Anweisung erfordern, aber kein nützlicher Code ausgeführt werden muss.
Python3 class MyClass: pass>
__init__()-Methode
Der __heiß__ Die Methode ähnelt den Konstruktoren in C++ Und Java . Konstruktoren werden verwendet, um den Zustand des Objekts zu initialisieren. Wie Methoden enthält auch ein Konstruktor eine Sammlung von Anweisungen (d. h. Anweisungen), die zum Zeitpunkt der Objekterstellung ausgeführt werden. Es wird ausgeführt, sobald ein Objekt einer Klasse instanziiert wird. Die Methode ist nützlich, um jede beliebige Initialisierung Ihres Objekts durchzuführen.
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()> Ausgabe:
Hello, my name is Nikhil>
Erläuterung:
In diesem Beispiel erstellen wir eine Person-Klasse und haben eine erstellt Name Instanzvariable im Konstruktor. Wir haben eine Methode namens say_hi() erstellt, die die Zeichenfolge Hallo, mein Name ist {name} zurückgibt. Wir haben ein Personenklassenobjekt erstellt und übergeben den Namen Nikhil an die Instanzvariable. Zum Schluss rufen wir say_hi() der Klasse auf.
__str__()-Methode
Python hat eine bestimmte Methode namens __str__() . das wird verwendet, um zu definieren, wie a Klasse Das Objekt sollte als Zeichenfolge dargestellt werden. Es wird häufig verwendet, um einem Objekt eine für Menschen lesbare Textdarstellung zu geben, die beim Protokollieren, Debuggen oder Anzeigen von Objektinformationen für Benutzer hilfreich ist. Wenn ein Klassenobjekt zum Erstellen einer Zeichenfolge mithilfe der integrierten Funktionen print() und str() verwendet wird, wird die __str__() Funktion wird automatisch verwendet. Sie können ändern, wie Objekte eines Klasse werden in Zeichenfolgen dargestellt, indem die definiert werden __str__() Methode.
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)> Ausgabe:
My name is John and I work in GeeksForGeeks.>
Erläuterung:
In diesem Beispiel erstellen wir eine Klasse mit dem Namen GFG. In der Klasse erstellen wir zwei Instanzvariablen Name und Firma . In der Methode __str__() geben wir die zurück Name Instanzvariable und Unternehmen Instanzvariable. Schließlich erstellen wir das Objekt der GFG-Klasse und rufen die Methode __str__() auf.
Klassen- und Instanzvariablen
Instanzvariablen sind für Daten, die für jede Instanz eindeutig sind, und Klassenvariablen sind für Attribute und Methoden, die von allen Instanzen der Klasse gemeinsam genutzt werden. Instanzvariablen sind Variablen, deren Wert innerhalb eines Konstruktors oder einer Methode mit self zugewiesen wird, während Klassenvariablen Variablen sind, deren Wert in der Klasse zugewiesen wird.
Definieren von Instanzvariablen mithilfe eines Konstruktors.
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)> Ausgabe :
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>
Erläuterung:
Eine Klasse namens Dog wird mit a definiert Klassenvariable Tiersatz zum Schnurhund. Klassenvariablen werden von allen Objekten einer Klasse gemeinsam genutzt und können über den Klassennamen aufgerufen werden. Die Hundeklasse hat zwei Instanzvariablen Rasse und Farbe. Später erstellen wir zwei Objekte des Hund Klasse und wir drucken den Wert beider Objekte mit einer Klassenvariablen namens animal.
Instanzvariablen mit der normalen Methode definieren:
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())> Ausgabe:
brown>
Erläuterung:
In diesem Beispiel haben wir eine Klasse mit dem Namen definiert Hund Und Wir haben eine erstellt Klassenvariable Tier. Wir haben eine Instanzvariable Breed im erstellt Konstrukteur . Die Klasse Dog besteht aus zwei Methoden setColor Und getColo r werden sie zum Erstellen und Initialisieren einer Instanzvariablen und zum Abrufen des Werts der Instanzvariablen verwendet. Wir haben daraus ein Objekt gemacht Hund Klasse und wir haben den Wert der Instanzvariablen auf braun gesetzt und drucken den Wert im Terminal aus.