Maison >développement back-end >Tutoriel Python >Illustration des variables Python et de leur affectation
Cet article présente principalement des diagrammes de variables et d'affectations Python. Maintenant, je le partage avec vous et vous donne une référence. Venez jeter un œil ensemble
Python est un langage unique, très différent du langage C. De nombreux débutants qui découvrent Python disent qu'ils ne comprennent pas les variables et les affectations. Ici, je vais le présenter à des amis. qui en ont besoin. Pour référence,
Python est un langage unique, très différent du langage C. De nombreux débutants en Python disent ne pas comprendre les variables et les affectations. Quiconque a étudié le C le sait. que lors de l'attribution de valeursaux variables, vous devez d'abord spécifier le type de données, et une zone mémoire sera ouverte pour stocker les valeurs, par exemple :
int a = 1;
a est une petite zone dans l'espace mémoire, comme une petite boîte dans une grande pièce. La tâche consiste à charger l'entier 1 dans la boîte.
Maintenant, réaffectez la variable a
a = 2;
La boîte reste C'est cette case, ce qui signifie que l'adresse mémoire n'a pas changé, mais que la valeur dans la mémoire a changé, devenant 2.
Regardez à nouveau :
int b = a;
Lors de l'attribution d'une valeur à variable a Lorsqu'on donne une autre variable b, cela équivaut à copier la valeur et à la passer à la variable b. b est une zone mémoire nouvellement ouverte
En Python, le nom strict de "variable" est "nom ( nom )" peut aussi être compris comme une étiquette, tout comme nos noms, un nom est une étiquette attachée à une personne.
>>> 10-a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined
Par exemple, le message d'erreur ci-dessus est que le nom « a » n'est pas défini, mais n'est pas appelé variable.
En Python, attribuer une valeur à une variable équivaut à étiqueter un objet, tout comme nous donnons des noms aux personnes. La variable elle-même n'a aucune signification, elle n'a aucune information de type et les vraies informations sont dans le. objet.
Par exemple :
a = 1
Python alloue en interne une section d'abord L'espace mémoire est utilisé pour créer un objet entier 1, puis étiqueter ce 1 avec le nom a.
Ensuite, exécutez
a=2
Python créera alors l'objet entier 2 dans une autre zone mémoire, puis Label a est arraché de 1 et attaché à 2. À ce stade, nous ne pouvons plus obtenir la valeur 1 via a.
Maintenant, attribuez le nom a à un autre nom b
b = a
Cela équivaut à attacher une nouvelle étiquette b au 2 tout à l'heure. Notez que c'est complètement différent du langage C. Il n'est pas nécessaire d'allouer de l'espace mémoire lors de la définition de b, nous pouvons donc. accès 2 via a ou accès 2 via b. Ils accèdent tous au même objet, tout comme lorsque nous nommons un bébé avec à la fois un surnom et un grand nom, ils nomment en fait la même personne.
Bien que nous utilisions habituellement le terme « variable » en Python (car c'est un terme courant dans les langages de programmation), nous devons comprendre que les variables en Python sont différentes des autres langages. Les variables ne sont qu'un nom.
Après avoir compris les variables et les affectations en Python, examinons le passage des paramètres de fonction, comme suit :
>>> def fun_a(a): ... a = a+4 ... >>> g = 0 >>> fun_a(g) >>> g 0
Lorsque la variable globale g est passée à la fonction fun_a, cela équivaut à ce que le paramètre a de la fonction soit attaché à 0 comme étiquette, puis a est réaffecté (a=a+4), ce qui équivaut à un arrachement l'étiquette de 0 a est attachée à 4, et g est toujours l'étiquette au-dessus de 0.
En regardant à nouveau cette fonction, elle passe un objet liste
>>> def fun_b(names): ... names[0] = ['x', 'y'] ... >>> n_list = ['a','b','c'] >>> fun_b(n_list) >>> >>> n_list [['x','y'], 'b', 'c']
Comme pour les étapes précédentes, les noms et n_list sont tous deux des étiquettes sur ['a', 'b', 'c'], sauf que le 0ème élément de la liste a été réaffecté, mais les noms et n_list sont toujours attachés à cet objet de liste Bien que la valeur de n_list ait été mise à jour, l'objet est toujours l'objet d'origine. C'est comme si Zhang San et Xiao Zhang étaient tous les deux la même personne. Maintenant, lorsque vous changez de vêtements pour Xiao Zhang, vous changez en fait de vêtements pour Zhang San. La personne est toujours la même personne, mais les choses sur elle ont changé.
Recommandations associées :
Explication détaillée des étapes d'affectation des variables Python
Python Explication graphique détaillée des variables et des affectations
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!