Contenu:
L'apprentissage de la programmation orientée objet dans Python des bases a été expliquée ici en discutant des sujets suivants avec des exemples.
Classe et objet:
Dans la programmation orientée objet, classe est utilisé pour déclarer la structure de données définie par l'utilisateur qui contient l'ensemble des attributs. Les attributs peuvent être les variables de classe, les variables d'instance et les méthodes. Les variables accessibles par tous les cas de la classe sont appelées variables de classe. Les fonctions qui sont déclarées à l'intérieur de la classe sont appelées méthodes. Les variables définies dans n'importe quelle méthode de classe et accessibles par l'instance actuelle de la classe sont appelées variables d'instance. Une classe est déclarée dans Python en définissant le mot-clé de classe suivi d'un nom de classe et d'un côlon (:). La syntaxe de la classe est définie ci-dessous.
Syntaxe de la classe:
Class ClassName:Une instance ou une copie d'une classe est appelée un objet utilisé pour accéder aux variables de classe et aux méthodes de classe. Une classe est inutile sans déclarer un objet parce que le classe Contient la description de l'objet uniquement qui n'alloue aucune mémoire. Le objet est déclaré en mentionnant le nom de classe avec le démarrage et la fin des premiers supports. Si la classe Contient toute méthode de constructeur avec les paramètres, alors vous devez définir la valeur des paramètres au moment de objet déclaration. La syntaxe de l'objet est donnée ci-dessous.
Syntaxe de l'objet:
Object_name = class_name ()ou
Object_name = class_name (value1, value2,…)La déclaration d'une classe simple et la déclaration d'objet de cette classe ont montré dans le script suivant. Une classe nommée 'Livre'a été déclaré ici qui contient trois variables de classe (book_name, auteur_name et prix) et une méthode nommée book_discount_price (). La méthode calculera le prix du livre après une remise de 5% et imprimera les détails du livre avec l'original et le prix de réduction. La variable d'objet nommée ObjBook a été définie dans le script pour créer l'instance de la classe et appeler la méthode de classe.
ClassandObject.py
# Définir la classeSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Constructeur:
Le constructeur est une méthode d'une classe appelée automatiquement à la déclaration d'objet Time de cette classe. Il est principalement utilisé pour initialiser l'objet d'une variable. def Le mot-clé est utilisé pour déclarer toute méthode dans une déclaration de classe Python, et le nom de la méthode du constructeur est __init __ () en python. Deux types de constructeurs peuvent être déclarés à Python. Ce sont le constructeur sans paramètre et le constructeur paramétré. Les utilisations des deux constructeurs ont montré dans cette partie de ce tutoriel.
UN. constructeur sans paramètre
Le constructeur qui ne contient qu'un seul argument nommé soi est appelé constructeur sans paramètre ou par défaut. Aucun paramètre n'est tenu de passer au moment de la déclaration d'objet d'une classe qui contient le constructeur sans paramètre. La façon de déclarer un constructeur sans paramètre a été montrée dans le script suivant. Ici le Client La classe contient le constructeur sans paramètre qui initialisera les quatre variables de classe lorsqu'un objet de classe sera créé. Ensuite, un objet de la classe nommé objcustmer a été déclaré accéder aux variables de la classe.
default_constructor.py
# Définir la classe clientSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
B. Constructeur paramétré
Le constructeur qui contient un ou plusieurs arguments avec le 'soi'L'argument est appelé le constructeur paramétré. Vous devez passer les valeurs des paramètres au moment de la création d'objets de la classe. La façon de déclarer le constructeur paramétré a été montrée dans le script suivant. Ici le Client La classe est déclarée avec un constructeur paramétré et deux méthodes. La méthode nommée Balance_After_Deposit () est défini pour ajouter le montant du dépôt avec le solde. La méthode nommée Balance_After_WithDraw () est défini pour déduire le montant du retrait du solde. Ensuite, la variable d'objet est définie pour afficher les détails de base du client, le solde après le dépôt et le solde après le retrait.
paramétré_constructeur.py
# Définir la classe clientSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Ici, le solde d'ouverture est de 200000. Le solde devient 220000 après avoir ajouté 30000 et déducteur 10000.
Héritage:
L'une des caractéristiques de base de la programmation orientée objet est l'héritage. La façon de créer une nouvelle classe à partir d'une classe existante est appelée héritage. La classe existante est appelée classe parent ou classe de base, et la nouvelle classe héritée est appelée l'enfant ou la classe dérivée. La classe infantile contiendra les caractéristiques de la classe de base après l'héritage. Comment l'héritage peut être appliqué dans la classe Python s'est montré dans l'exemple suivant. Dans le script, le 'Étudiant"est la classe parent, et le"Studibsetails'est la classe d'enfants. Les deux classes ont les constructeurs paramétrés. La classe parent a une méthode nommée Afficher Basic () Pour imprimer les variables ID, nom et e-mail de la classe parentale. La classe enfant a une méthode nommée DisplayInfo () pour imprimer les valeurs du grouper et les variables semestres de la classe enfant. Le constructeur de la classe parent est appelé le constructeur de classe enfant. Après la déclaration de classe, l'objet de la classe parent a été déclaré avec des valeurs à trois paramètres pour initialiser les variables de classe de la classe parent, et la méthode de la classe parent a été appelée pour afficher ces valeurs. Ensuite, l'objet de classe enfant a été déclaré avec des valeurs à trois paramètres pour initialiser les variables de classe de la classe infantile, et la méthode de la classe enfant a été appelée à afficher ces valeurs.
héritage.py
# Définir la classe parentSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Encapsulation:
Une autre caractéristique de base de la programmation orientée objet est l'encapsulation. La façon de cacher les variables et les méthodes particulières d'une classe est appelée encapsulation. Il est utilisé pour définir la restriction pour accéder aux données particulières. L'objectif principal de cette fonctionnalité est de fournir la sécurité des données par la cachette des données. L'encapsulation peut être mise en œuvre dans Python en déclarant les membres de données privés ou protégés de la classe. Comment l'encapsulation peut être implémentée dans Python s'est montré dans l'exemple suivant. Dans le script, le Ajouter La classe a créé en héritant du Nombre classe. Un membre privé nommé '__résultat'a déclaré dans la classe infantile pour stocker la somme de deux nombres, et cette variable est accessible à l'intérieur de la classe infantile uniquement. Le constructeur de la classe parent initialise deux variables de classe avec les nombres. Selon le script, le constructeur de classe d'enfants appellera le constructeur de la classe parent, calculera la somme des variables de classe et imprimera le résultat de l'addition. Après la déclaration de classe, l'objet de la classe enfant a été déclaré. Ensuite, le membre privé de la classe infantile a utilisé dans la fonction d'impression qui générera une erreur.
espion.py
# Définir la classe parentSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Lorsque l'objet a été défini, la méthode du constructeur a été appelée et la somme de 10 et 30 a imprimé. Le message d'erreur est apparu pour essayer d'accéder au membre privé depuis l'extérieur de la classe.
Polymorphisme:
Une autre caractéristique de base de la programmation orientée objet est le polymorphisme. Le sens de poly est «beaucoup», et morphisme est des «formes». La façon de déclarer la même fonction plusieurs fois à des fins différentes est appelée polymorphisme. Le codage devient plus facile pour l'utilisation de cette fonctionnalité de l'OOP. Cette fonctionnalité peut être implémentée à l'aide d'un script Python, comme le polymorphisme dans différentes classes, le polymorphisme dans les classes héréditaires, etc. Comment le polymorphisme peut être mis en œuvre dans différentes classes à l'aide du script Python s'est montré dans l'exemple suivant. Dans le script, deux classes non liées nommées rectangle et cercle ont été déclarées. Les deux classes ont le constructeur paramétré et une méthode nommée zone(). Ici, les deux classes contiennent la même méthode, mais le but de la méthode est différent. Dans la classe rectangulaire, le constructeur initialisera deux variables nommées hauteur et largeur, et le zone() La méthode calculera la zone du rectangle. Dans la classe Circle, le constructeur initialisera une variable nommée rayon, et le zone() La méthode calculera la zone du cercle. Après avoir déclaré la classe, deux valeurs de nombre seront prises de l'utilisateur pour passer la hauteur et les valeurs de largeur au constructeur du Rectangle classe au moment de la déclaration d'objet. Ensuite, le zone() Méthode de la Rectangle La classe sera appelée pour imprimer la zone du rectangle en fonction des valeurs d'entrée. Après cela, une valeur de nombre sera tirée de l'utilisateur pour passer la valeur de rayon au constructeur du Cercle classe au moment de la création d'objets. , le zone() Méthode de la Cercle La classe sera appelée pour imprimer la zone du cercle en fonction de la valeur d'entrée.
polymorphisme.py
# Définir la classe rectangulaireSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Selon la sortie, 5 a pris la valeur de hauteur et 2 a pris la valeur de largeur. Pour ces valeurs, la zone du rectan0gle est de 10 (5 × 2) qui a été imprimée. Ensuite, 2 a pris la valeur du rayon et la zone du cercle est de 12.56 (3.14x2x2) qui a été imprimé.
Getter et Setter:
La méthode utilisée pour lire la valeur de la propriété est appelée Getter, et la méthode utilisée pour définir la valeur de la propriété est appelée setter. Dans la programmation orientée objet, le Getter est utilisé pour accéder aux attributs privés de la classe, et le secteur est utilisé pour définir les valeurs des attributs privés de la classe. Les principaux objectifs de cette fonctionnalité sont d'assurer l'encapsulation des données et la validation des données. Le Getter et Setter peuvent être implémentés en utilisant la fonction normale ou @property décorateur. Les deux façons d'implémenter le secteur et le getter ont été montrés dans cette partie du tutoriel.
Setter et Getter en utilisant la fonction normale:
Le script suivant montre comment la fonction normale peut être utilisée pour implanter des méthodes Getter et Setter. Dans le script, le Personne La classe contient les méthodes de Getter et de Setter personnalisées pour lire les valeurs des variables de classe privée et définir la valeur de la variable de messagerie qui est un membre privé. La valeur vide est passée pour la variable des e-mails au moment de la création d'objets, et la méthode du secteur personnalisé a été utilisée pour définir la valeur de l'e-mail. La méthode Getter personnalisée renvoie toutes les valeurs de la variable de classe sous forme de liste.
personnalisé_setter_getter.py
# Définir la classeSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Setter et Getter à l'aide de @property décorateur:
Le script suivant montre comment le décorateur @property peut être utilisé pour implanter des méthodes Getter et Setter. Dans le script, le Getter et le Setter ont déclaré en utilisant @property décorateur pour définir la valeur de la variable, un membre de la classe privée. Après avoir déclaré la classe, l'objet de la classe a été défini et la valeur de la variable de nom a été attribuée et récupérée en utilisant le secteur et le getter.
décorateur_setter_getter.py
# Définir la classeSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Opérateur de surcharge et fonction:
Lorsqu'une fonction ou opérateur est utilisé dans un but différent en fonction du paramètre de fonction ou des opérandes au lieu de l'utilisation normale de la fonction ou de l'opérateur, il est appelé surcharge. La fonction de réutilisabilité peut être implémentée dans une programmation orientée objet en utilisant la surcharge de l'opérateur et la surcharge de fonction. C'est une caractéristique utile de la POO, mais l'utilisation excessive de cette fonctionnalité crée des difficultés à gérer le code. L'utilisation simple de la surcharge de l'opérateur et de la surcharge de fonctions dans la classe Python a été affichée dans ce tutoriel.
Surcharge de l'opérateur:
L'opérateur est utilisé sur deux opérandes. Le but de chaque opérateur est différent. Par exemple, il existe de nombreuses utilisations de l'opérateur '+', comme il peut être utilisé pour l'addition, combinant deux chaînes, etc. Mais lorsque l'opérateur «+» est utilisé dans un but différent, il est appelé la surcharge de l'opérateur. Les fonctions spéciales sont utilisées pour différents types de surcharge de l'opérateur. La fonction spéciale est déclarée en utilisant «__» au début et à la fin du nom de la fonction. De nombreuses fonctions spéciales de différents types d'opérateurs existent à Python pour la surcharge des opérateurs. L'opérateur peut être mathématique, comparaison opérateur, opérateur d'assignation, etc. L'utilisation de la fonction spéciale de l'opérateur mathématique a été montrée dans cette partie de ce tutoriel pour comprendre le concept de surcharge de l'opérateur à Python.
Opérateur mathématique:
Les opérateurs utilisés pour les opérations arithmétiques sont appelés opérateurs mathématiques. Ces opérateurs peuvent être utilisés dans un but spécial en utilisant une fonction spéciale. Certaines fonctions spéciales de l'opérateur mathématique sont mentionnées ci-dessous.
Nom de l'opérateur | Symbole | Fonction spéciale |
---|---|---|
Ajout | + | __add __ (Self, autre) |
Soustraction | - | __Sub __ (Self, autre) |
Multiplication | * | __mul __ (self, autre) |
Division | / / | __Treediv __ (self, autre) |
Module | % | __mod __ (self, autre) |
Pouvoir | ** | __POW __ (Self, autre) |
Utilisation de la fonction spéciale de l'opérateur de puissance (**):
__POW __ () La fonction spéciale est utilisée pour surcharger l'opérateur de puissance. Le but principal de l'opérateur de puissance est de calculer la valeur de puissance d'un nombre particulier. Mais si nous devons calculer les valeurs de puissance en utilisant des valeurs ponctuelles, alors l'opérateur de puissance générale ne fonctionnera pas. Supposons qu'il y ait deux points (3, 2) et (2, 4). Nous avons besoin de la somme de 32 et 24. Dans ce cas, nous devons utiliser la fonction spéciale de l'opérateur de puissance. La fonction __pow __ () peut calculer la somme des pouvoirs en fonction des valeurs ponctuelles indiquées dans le script suivant. La classe Sumofpower contient un constructeur paramétré pour initialiser deux variables de classe, __POW __ () fonction pour calculer la somme de deux pouvoirs en fonction des valeurs ponctuelles, et __str __ () fonction pour imprimer l'objet de la classe. Ensuite, deux objets de la classe ont été déclarés. L'opérateur de puissance a utilisé deux variables d'objet dans l'impression () fonction pour appeler le __POW __ () fonction pour terminer l'opération.
Operator_Overloading.py
# Définir la classeSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. 32 est 9 et 24 est 16. La somme de 9 et 16 est 25 qui s'affiche dans la sortie.
Surcharge de fonction:
Parfois, nous devons écrire plusieurs méthodes qui sont assez similaires mais diffèrent dans certaines parties uniquement. Dans ce cas, une seule méthode peut être définie pour effectuer les mêmes tâches en utilisant la surcharge de fonction. La complexité du code peut être supprimée et le code devient plus clair en utilisant la surcharge de fonction. La sortie de la fonction dépend de l'argument transmis à la fonction. Comment la surcharge de fonction peut être implémentée dans Python s'est montrée dans le script suivant. Le but principal du script est d'effectuer quatre types d'opérations arithmétiques avec la valeur par défaut ou les valeurs passées au moment de la création d'objets. La méthode nommée calculer () a été utilisé ici pour faire les opérations arithmétiques. La méthode a été appelée quatre fois dans le script pour effectuer quatre types de tâches. Lorsque la méthode appelle sans aucun argument, il affichera un message uniquement. Lorsque la méthode appelle avec «+» comme valeur d'argument, il calculera les valeurs par défaut. Lorsque la méthode appelle avec '-' et une valeur numérique en tant que valeurs d'argument, il soustraire la deuxième valeur par défaut de la valeur d'argument. Lorsque la méthode appelle avec '*' et deux valeurs numériques comme valeurs d'argument, il calculera deux valeurs d'argument.
function_overloging.py
# Définir la classeSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. 'Aucun opérateur n'est donné'Le message a imprimé pour appeler la méthode sans aucun argument. La somme de 25 et 35 a été imprimée pour appeler la méthode avec un argument. La valeur de soustraction de 50-35 a été imprimée pour appeler la méthode avec deux valeurs d'argument. La valeur de multiplication de 3 et 2 a imprimé pour appeler la méthode avec trois valeurs d'argument. De cette façon, la surcharge de fonction a été implémentée dans le script pour utiliser la même fonction plusieurs fois.
Conclusion:
La programmation de base orientée objet dans Python a été expliquée dans ce tutoriel en utilisant des exemples de python très simples. Les caractéristiques les plus courantes de la POO sont discutées ici pour aider les lecteurs à connaître la façon de la POO à Python et à pouvoir écrire un programme Python en utilisant la classe et l'objet.