Maison >développement back-end >Tutoriel Python >Qu'est-ce que l'instruction d'affectation Python ?
Instruction d'affectation
En Python, l'opérateur d'affectation principal est le signe égal (=)
L'affectation n'attribue pas directement une valeur à une variable . Les objets sont passés par référence. Que la variable soit nouvellement créée ou existe déjà, une référence à l'objet est affectée à la variable.
En langage C, l'instruction d'affectation peut être considérée comme une expression et peut renvoyer une valeur. Mais en Python, les instructions d'affectation ne renvoient pas de valeurs. Cela rend une telle déclaration illégale
>>> y = (x = x + 1) # assignments not expressions! File "<stdin>", line 1y = (x = x + 1)^SyntaxError: invalid syntax>>> if (a = 3): SyntaxError: invalid syntax
Par rapport à l'affectation ordinaire, non seulement l'écriture change, le changement le plus important est que le premier objet n'est traité qu'une seule fois.
Python ne prend pas en charge les opérations d'incrémentation/décrémentation pré/post telles que x++ ou --x
Assignation multiple
>>> x, y, z = 1, 2, 'a string'>>> x1 >>> y2 >>> z'a string'>>> x, y, z (1, 2, 'a string')
Lors de l'affectation, les objets des deux côtés de l'égalité le signe sera Ils sont tous considérés comme des tuples
En utilisant la méthode d'affectation multivariée, vous pouvez directement échanger les valeurs du tableau sans utiliser de variables intermédiaires
>>> x , y = 1, 2 >>> x, y (1, 2)>>> x, y = y, x>>> x, y (2, 1)
Le tableau suivant est l'opération de copie et l'annotation
运算 | 解释 |
a=10 | 基本形式 |
a,b = 10,20 | 元组赋值 |
[a,b] = [10,20] | 列表赋值(位置性) |
a,b = 'AB' | 序列赋值(通用性) |
a,b = [10,20] | 序列赋值(通用性) |
a,*b = 'hello' | 扩展的序列解包(python3中特有) |
a = b = c = 10 | 多目标赋值 |
a += 1 | 增强赋值 |
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!