Maison > Article > développement back-end > Explication graphique détaillée des variables et des affectations Python
Cette fois, je vous apporte une explication graphique détaillée des variables et des affectations Python. Quelles sont les précautions lors de l'utilisation des variables et des affectations Python ? Voici des cas pratiques, jetons un coup d'œil.
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 l'affectation. Quiconque a étudié le C le sait lorsqu'il attribue une valeur à. une variable, vous devez d'abord la spécifier. Le type de données ouvrira également une zone mémoire pour stocker les valeurs, par exemple :
int a = 1;
a est un petit morceau d'espace mémoire. Une zone est comme une petite boîte dans une grande pièce. La tâche consiste à charger l'entier 1 dans la boîte.
Réaffectez maintenant la valeur de la variable a
a = 2;
La case est toujours la même, ce qui signifie que l'adresse mémoire n'a pas changé, juste l'adresse mémoire dans ce segment de mémoire. La valeur a changé et est devenue 2.
Regardez à nouveau :
int b = a;
Lors de l'attribution d'une variable a à 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", qui peut aussi être compris comme une étiquette, tout comme les noms de nos personnes. 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</module></stdin>
Par exemple, le message d'erreur ci-dessus est que le nom « a » n'est pas défini, mais il 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
En interne, Python allouera d'abord un espace mémoire pour créer un objet entier 1, puis étiquetera ce 1 avec le nommer une étiquette.
Ensuite exécuter
a=2
Python va alors créer un objet entier 2 dans une autre zone mémoire, puis arracher l'étiquette a de 1 et la coller sur 2. A ce moment, on je n'ai aucun moyen. Ensuite, utilisez a pour obtenir la valeur 1.
Attribuez maintenant le nom a à un autre nom b
b = a
qui est équivalent au 2 à l'instant Une nouvelle étiquette b est attachée. 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. De cette façon, nous pouvons accéder à 2 via a et 2 via b. personne, tout comme lorsque nous nommons notre 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 le langage de programmation ), nous devons comprendre que les variables en Python sont différentes dans d'autres langages, une variable n'est qu'un nom.
Après avoir compris les variables et les affectations en Python, regardons le paramètre de la fonction , comme indiqué ci-dessous :
>>> 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 , ce qui équivaut au fait que le paramètre a dans la fonction soit attaché à 0 comme étiquette, puis a est réaffecté (a=a+4), ce qui équivaut à arracher l'étiquette a de 0 et à l'attacher à 4, puis g est toujours sur l'étiquette 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']
与前面的步骤还是一样的,names 和 n_list 都是['a','b','c']上的一个标签,只是列表中的第0个元素被重新赋值了,但是names和 n_list 依然都贴在这个列表对象身上,虽然 n_list的值更新了,但对象依然是原来那个对象。就好比张三和小张都是同一个人,现在给小张换件衣服时,其实就是给张三换件衣服,人还是那个人,只是它身上的东西发生了变化。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
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!