PHP前端开发

python赋值语句是什么

百变鹏仔 5小时前 #Python
文章标签 赋值

赋值语句
Python中,主要赋值运算符是等号( = ) 
赋值不是直接将一个值赋给一个变量,对象是通过引用传递的。不管变量是新创建的还是已经存在的,都是将该对象的引用赋值给变量。

C语言中,赋值语句可以当成一个表达式,可以返回值。但在Python中,赋值语句不会返回值。这使得这样的语句是非法的

&gt;&gt;&gt; y = (x = x + 1) # assignments not expressions! File "<stdin>", line 1y = (x = x + 1)^SyntaxError: invalid syntax&gt;&gt;&gt; if (a = 3):SyntaxError: invalid syntax</stdin>

相对于普通赋值不仅仅是写法改变,最有意义的变化是第一个对象仅被处理一次。
Python不支持x++或--x这样的前置/后置自增/自减运算
多元赋值

&gt;&gt;&gt; x, y, z = 1, 2, 'a string'&gt;&gt;&gt; x1&gt;&gt;&gt; y2&gt;&gt;&gt; z'a string'&gt;&gt;&gt; x, y, z(1, 2, 'a string')

赋值时将等号两边的对象都看成元组

立即学习“Python免费学习笔记(深入)”;

使用多元赋值的方法可以不使用中间变量直接交换表量的值

&gt;&gt;&gt; x , y = 1, 2&gt;&gt;&gt; x, y(1, 2)&gt;&gt;&gt; x, y = y, x&gt;&gt;&gt; x, y(2, 1)

下表是复制运算及注解

运算解释
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增强赋值