Illustration des variables Python et de leur affectation

不言
Libérer: 2018-04-23 16:05:57
original
1565 Les gens l'ont consulté

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 valeurs​​aux 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;
Copier après la connexion


Illustration des variables Python et de leur affectation

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;
Copier après la connexion


Illustration des variables Python et de leur affectation2

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;
Copier après la connexion


Illustration des variables Python et de leur affectation3

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 &#39;a&#39; is not defined
Copier après la connexion


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
Copier après la connexion


Illustration des variables Python et de leur affectation

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
Copier après la connexion


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.

Illustration des variables Python et de leur affectation

Maintenant, attribuez le nom a à un autre nom b


b = a
Copier après la connexion


Illustration des variables Python et de leur affectation

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
Copier après la connexion


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.

Illustration des variables Python et de leur affectation

En regardant à nouveau cette fonction, elle passe un objet liste


>>> def fun_b(names):
...   names[0] = [&#39;x&#39;, &#39;y&#39;]
...
>>> n_list = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;]
>>> fun_b(n_list)
>>>
>>> n_list
[[&#39;x&#39;,&#39;y&#39;], &#39;b&#39;, &#39;c&#39;]
Copier après la connexion


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é.

Illustration des variables Python et de leur affectation

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!

É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
À 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!