Une brève explication des classes et des instances dans la programmation orientée objet Python (avec des exemples)

不言
Libérer: 2018-10-09 15:33:42
avant
2468 Les gens l'ont consulté

Ce que cet article vous apporte est une explication simple des classes et des instances dans la programmation Python (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

1. préface

Programmation orientée objet POO : programmation orientée objet.
La POO considère les objets comme l'unité de base du programme. Un objet contient des données et des fonctions pour les données d'exploitation. Python est un langage de programmation orienté objet qui implémente des appels de méthodes via des objets.

La programmation orientée processus considère un programme informatique comme une série d'ensembles de commandes, c'est-à-dire l'exécution séquentielle d'un ensemble de fonctions. Afin de simplifier la programmation, les fonctions orientées processus continuent d'être divisées en sous-fonctions, c'est-à-dire que les grandes fonctions sont découpées en petites fonctions pour réduire la complexité du système.
La programmation orientée objet considère un programme informatique comme une collection d'objets, et chaque objet peut recevoir des messages d'autres objets et traiter ces messages. L'exécution d'un programme informatique est une série de messages transmis entre chaque objet.

Pour les langages orientés objet, les concepts importants sont les classes et les instances. Une classe est un modèle abstrait et une instance est un objet créé sur la base du modèle de classe.
En python, tous les types de données peuvent être considérés comme des objets, et bien sûr les objets peuvent également être personnalisés. Les types de données d'objet personnalisés sont le concept de classes orientées objet et les objets sont créés en fonction des classes.
Ses trois fonctionnalités majeures sont : l'encapsulation, l'héritage et le polymorphisme.

2. Classe de classe

Une classe est un modèle abstrait et une structure de données.

Syntaxe :
class class_name : pass
class class_name(object) : pass

Explication :
class est le mot-clé, class. Le nom de classe class_name commence généralement par une lettre majuscule.
object indique de quelle classe la classe hérite. En fait, object est la classe de base dont toutes les classes héritent et n’est généralement pas écrite explicitement. (Je l'écris habituellement)

Par exemple, s'il y a beaucoup d'étudiants dans une classe, alors l'ensemble des étudiants aura beaucoup de choses en commun, comme le nom de l'étudiant, son numéro d'étudiant, sa note et sa spécialisation. , des notes et une série de caractéristiques communes, nous pouvons ensuite les résumer dans une classe d'étudiant. Comme suit :

class Student(object):
    pass
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons d'abord pass pour démontrer, ce qui signifie ne rien faire.

3. Instance

Les instances d'élèves peuvent être créées via les classes. La méthode est la suivante :

>>> bart = Student()        # 变量bart指向的是一个Student的实例 
>>> bart
<__main__.student> # 类object 实例的内存地址
>>> Student                 # 类
<class>     # 返回的是Student 类的属性 class</class></__main__.student>
Copier après la connexion

Pour les instances de classes, les attributs. peut être modifié. Reliure.

Les attributs sont les éléments de données ou de fonction d'un objet. Par exemple, le nom de l'étudiant, son numéro d'étudiant et d'autres informations dans la catégorie Étudiant.

Accès via la "méthode d'identification des attributs de forteresse".

Python est un langage dynamique, et les instances créées sur la base de classes peuvent être arbitrairement liées à des attributs. La façon de lier des propriétés à une instance consiste à utiliser des variables d'instance ou via la variable self.

>>> bart.name = 'xlp'        # 动态给变量绑定属性
>>> bart.name
'xlp'
Copier après la connexion

Comment les propriétés sont-elles liées ? Méthode d'instance __init__().
Lorsqu'une instance est créée, Python vérifiera si la méthode __init__() est implémentée. Si cette méthode n'est pas définie, aucune opération spécifique ne sera appliquée à l'instance. Toute opération spéciale doit être personnalisée par vous-même. Autrement dit, __init()__ sera appelé automatiquement, qu'il soit par défaut ou personnalisé.

__init__(self)

1. Le premier paramètre de cette méthode est toujours self, et self pointe vers l'instance créée elle-même

2. L'attribut est lié à l'instance pointée par self ;

3. La méthode __init__() renvoie None

4. Lors de la création d'une instance, vous ne pouvez pas transmettre de paramètres vides. Vous devez transmettre des paramètres qui correspondent à la méthode, mais self n'a pas besoin d'être transmis. Les paramètres par défaut sont transmis selon les besoins.

Pour le troisième point : étant donné que l'objet instance est renvoyé après l'appel d'instance de création automatisée, si le constructeur __init__() est défini, il ne doit renvoyer aucun objet, sinon des conflits peuvent survenir, seulement renvoyer l'instance. Tenter de renvoyer un objet autre que None déclenchera une TypeError :

Une brève explication des classes et des instances dans la programmation orientée objet Python (avec des exemples)

Afficher les attributs de l'instance : dir()
via la fonction intégrée dir (class_name) peut afficher les attributs de la classe, par exemple : dir (Student1). Vous pouvez également accéder aux propriétés de l'instance. Essayez de l'imprimer et voyez par vous-même ~

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!