La différence entre les variables de classe Python et les variables d'instance

爱喝马黛茶的安东尼
Libérer: 2019-06-24 10:56:09
original
3223 Les gens l'ont consulté

L'essence des variables Python : se voir attribuer une valeur.

1 Les variables Python ordinaires (variables non liées à la classe) sont faciles à comprendre. Après avoir reçu une valeur, la variable existe et peut être lue et écrite.

2 Les variables de la classe Python (variables de classe et variables d'objet d'instance) sont assignées quelque part d'une certaine manière, c'est-à-dire qu'elles existent et peuvent être lues et écrites.

La différence entre les variables de classe Python et les variables d'instance

2.1 Les variables de classe Python sont attribuées

(1) Dans la conception de la classe

Dans et en dehors de la classe, les noms de variables peut se voir attribuer une mission.

Dans le DEF, le nom de variable dépendante du point -nom de classe du nom de classe peut être attribué.

(2) Dans le programme,

Le nom de catégorie du point de calcul de l'objet de classe (nom de classe) peut également être attribué.

Recommandations associées : "

Tutoriel vidéo Python

"2.2 Les variables d'objet d'instance Python se voient attribuer des valeurs

(1) Temps de conception de la classe

DEF peut être attribué via le nom de la variable de transport Self point, pas nécessairement dans l'initialisation, et d'autres appels qui ont été appelés.

(2) Dans le programme,

les noms de variables peuvent se voir attribuer des valeurs via l'arithmétique par points des objets d'instance.

Généralement, les variables d'une classe sont complétées via la conception de classe (2.1(1) et 2.2(1)). L'ajout de variables dans une classe n'utilise généralement pas la méthode (2.1(2) et 2.2(2)). ). , l'achèvement (2.1(2) et 2.2(2)) peut être obtenu grâce à l'héritage de classe.

class aa:
      w = 10
      def __init__(self):
           self.x = 11
           self.y = 12
      def add(self):
           return self.x + self.y
a = aa()
print a.add()
#下边两条指令各起何作用?结果是输出两个 20 么?还是两个13?还是?
aa.w = 20 
a.w = 13
print aa.w, a.w
#程序继续增加如下,怎样理解这t和q呢?他们是___变量
a.t = 14
a.q = 15
print a.t, a.q
#程序继续增加如下,怎样理解这m和n呢?他们是___变量
aa.m = 30
aa.n = 40
print aa.m, aa.n
#好了再来个提升吧
#程序继续增加,下列三个print语句都能正确执行么?为何?
b = aa()
print b.x,b.y
print b.t,b.q
print b.m,b.n
Copier après la connexion

Pour résoudre le problème ci-dessus, nous devons d'abord comprendre quand une classe a des variables de classe et quand une instance a des variables d'instance ?

Deuxièmement, nous devons comprendre en profondeur le rôle des variables de classe et qui est impliqué dans la portée des variables d'instance !

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:php.cn
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