Une classe est un plan ou un prototype défini par l'utilisateur à partir duquel des objets sont créés. Les classes fournissent un moyen de regrouper les données et les fonctionnalités. La création d'une nouvelle classe crée un nouveau type d'objet, permettant de créer de nouvelles instances de ce type. Chaque instance de classe peut avoir des attributs qui lui sont attachés pour maintenir son état. Les instances de classe peuvent également avoir des méthodes (définies par leur classe) pour modifier leur état.
Comprendre la nécessité de créer une classe et un objet dans Python Prenons un exemple : disons que vous souhaitez suivre le nombre de chiens pouvant avoir différents attributs comme la race et l'âge. Si une liste est utilisée, le premier élément pourrait être la race du chien tandis que le deuxième élément pourrait représenter son âge. Supposons qu’il y ait 100 chiens différents, alors comment savoir quel élément est censé être lequel ? Et si vous vouliez ajouter d’autres propriétés à ces chiens ? Cela manque d’organisation et c’est exactement le besoin de cours.
Syntaxe: Définition de classe
class ClassName: # Statement>
Syntaxe: Définition d'objet
obj = ClassName() print(obj.atrr)>
La classe crée un élément défini par l'utilisateur Quelques points sur la classe Python :
- Les classes sont créées par classe de mot-clé.
- Les attributs sont les variables qui appartiennent à une classe.
- Les attributs sont toujours publics et accessibles à l'aide de l'opérateur point (.). Ex. : Ma classe.Monattribut
Création d'une classe Python
Ici, le mot-clé class indique que vous créez une classe suivi du nom de la classe (Dog dans ce cas).
clavier page suivantePython3
class Dog: sound = 'bark'>
Objet de la classe Python
Un objet est une instance d'une classe. Une classe est comme un plan tandis qu'une instance est une copie de la classe avec valeurs réelles . Ce n’est plus une idée, c’est un vrai chien, comme un chien de race carlin qui a sept ans. Vous pouvez avoir plusieurs chiens pour créer de nombreuses instances différentes, mais sans la classe comme guide, vous seriez perdu, ne sachant pas quelles informations sont requises.
Un objet est constitué de :
- État: Il est représenté par les attributs d'un objet. Il reflète également les propriétés d'un objet.
- Comportement: Il est représenté par les méthodes d'un objet. Il reflète également la réponse d'un objet à d'autres objets.
- Identité: Il donne un nom unique à un objet et permet à un objet d'interagir avec d'autres objets.

Déclaration d'objets de classe (également appelée instanciation d'une classe)
Lorsqu’un objet d’une classe est créé, la classe est dite instanciée. Toutes les instances partagent les attributs et le comportement de la classe. Mais les valeurs de ces attributs, c'est-à-dire l'état, sont uniques pour chaque objet. Une seule classe peut avoir un nombre illimité d'instances.
Exemple:

Exemple de classe et d'objet Python
Créer un objet en Python implique d'instancier une classe pour créer une nouvelle instance de cette classe. Ce processus est également appelé instanciation d'objet.
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()> Sortir:
mammal I'm a mammal I'm a dog>
Dans l'exemple ci-dessus, un objet est créé qui est essentiellement un chien nommé Rodger. Cette classe n'a que deux attributs de classe qui nous indiquent que Rodger est un chien et un mammifère.
Explication :
Dans cet exemple, nous créons une classe Dog et nous avons créé deux variables de classe attr1 et attr2 . Nous avons créé une méthode nommée amusant() qui renvoie la chaîne Je suis un, {attr1} et je suis un, {attr2}. Nous avons créé un objet de la classe Dog et nous imprimons au attr1 de l'objet. Enfin, nous appelons le amusant() fonction .
Paramètre automatique
Lorsque nous appelons une méthode de cet objet comme myobject.method(arg1, arg2), celle-ci est automatiquement convertie par Python en MyClass.method(myobject, arg1, arg2) – c'est toute la particularité soi est à propos.
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()> Le Soi Le paramètre ne l'appelle pas Soi, vous pouvez utiliser n'importe quel autre nom à la place. Ici, nous changeons le soi en mot quelqu'un et le résultat sera le même.
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()> Sortir: La sortie pour les deux codes sera la même.
Hello my name is John and I work in GeeksForGeeks.>
Explication:
Dans cet exemple, nous créons une classe GFG et nous avons créé le nom et société variables d'instance dans le constructeur. Nous avons créé une méthode nommée dis salut() qui renvoie la chaîne Bonjour, mon nom est + {nom} + et je travaille dans +{entreprise}+..Nous avons créé un objet de classe personne et nous transmettons le nom John et compagnie GeeksForGeeks à la variable d'instance. Enfin, nous appelons le montrer() de la classe.
Déclaration de réussite
L’exécution du programme n’est pas affectée par le passer l’inaction de la déclaration. Cela permet simplement au programme de sauter cette section du code sans rien faire. Il est fréquemment utilisé lorsque les contraintes syntaxiques de Python exigent une instruction valide mais qu'aucun code utile ne doit être exécuté.
Python3 class MyClass: pass>
Méthode __init__()
Le __chaud__ la méthode est similaire aux constructeurs dans C++ et Java . Les constructeurs sont utilisés pour initialiser l’état de l’objet. Comme les méthodes, un constructeur contient également une collection d'instructions (c'est-à-dire des instructions) qui sont exécutées au moment de la création de l'objet. Il s'exécute dès qu'un objet d'une classe est instancié. La méthode est utile pour effectuer toute initialisation que vous souhaitez effectuer avec votre objet.
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()> Sortir:
Hello, my name is Nikhil>
Explication:
Dans cet exemple, nous créons une classe Person et nous avons créé un nom variable d'instance dans le constructeur. Nous avons créé une méthode nommée say_hi() qui renvoie la chaîne Bonjour, je m'appelle {name}. Nous avons créé un objet de classe personne et nous passons le nom Nikhil à la variable d'instance. Enfin, nous appelons le say_hi() de la classe.
Méthode __str__()
Python a une méthode particulière appelée __str__() . qui est utilisé pour définir comment un classe l'objet doit être représenté sous forme de chaîne. Il est souvent utilisé pour donner à un objet une représentation textuelle lisible par l'homme, ce qui est utile pour la journalisation, le débogage ou l'affichage des informations sur l'objet aux utilisateurs. Lorsqu'un objet de classe est utilisé pour créer une chaîne à l'aide des fonctions intégrées print() et str(), le __str__() La fonction est automatiquement utilisée. Vous pouvez modifier la façon dont les objets d'un classe sont représentés sous forme de chaînes en définissant le __str__() méthode.
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)> Sortir:
My name is John and I work in GeeksForGeeks.>
Explication:
Dans cet exemple, nous créons une classe nommée GFG. Dans la classe, nous créons deux variables d'instance nom et société . Dans la méthode __str__(), nous renvoyons le nom variable d'instance et entreprise variable d'instance. Enfin, nous créons l'objet de la classe GFG et nous appelons la méthode __str__().
Variables de classe et d'instance
Variables d'instance sont destinés aux données, uniques à chaque instance et les variables de classe sont destinées aux attributs et méthodes partagés par toutes les instances de la classe. Les variables d'instance sont des variables dont la valeur est attribuée à l'intérieur d'un constructeur ou d'une méthode avec self tandis que les variables de classe sont des variables dont la valeur est attribuée dans la classe.
Définir des variables d'instance à l'aide d'un constructeur.
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)> Sortir :
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>
Explication:
Une classe nommée Dog est définie avec un variable de classe animal fixé au chien à cordes. Les variables de classe sont partagées par tous les objets d'une classe et sont accessibles à l'aide du nom de la classe. La classe Dog a deux variables d'instance race et couleur. Plus tard, nous créons deux objets du Chien class et nous imprimons la valeur des deux objets avec une variable de classe nommée animal.
Définir des variables d'instance à l'aide de la méthode normale :
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())> Sortir:
brown>
Explication:
Dans cet exemple, nous avons défini une classe nommée Chien et nous avons créé un variable de classe animal. Nous avons créé une race de variable d'instance dans le constructeur . La classe Dog se compose de deux méthodes définirCouleur et obtenirColo r, ils sont utilisés pour créer et initialiser une variable d'instance et récupérer la valeur de la variable d'instance. Nous avons fait un objet du Chien classe et nous avons défini la valeur de la variable d'instance sur brown et nous imprimons la valeur dans le terminal.