1.python中没有所谓的“自增”与“自减”
例如:如果出现++x或者--x,就相当于两个加号或者两个减号的意思;即正号加正号,而两个负号抵消,也就是原数
x=1
a=++x
print(a)
那么根据以上内容,运行的结果就为a=1
2.python的链式赋值
通过python的链式赋值,可以实现一行代码实现对多个变量的同时赋值;
但是需要注意:
x = [1, 2, 3, 4, 5]
i = 0
i = x[i] = 3
运行结果如图所示:
如果按照C语言的习惯:
int main()
{
int x[100] = { 1,2,3,4,5 };
int i = 0;
i = x[i] = 3;
printf("%d\n",i);
int j = 0;
for (j = 0; j < 5; j++)
{
printf("%d ", x[j]);
}
return 0;
}
那其实我们可以看出来:C语言的链式赋值是从右往左依次赋值,而python则是从左往右依次赋值
Python的链式赋值与C语言的链式赋值的区别。在Python中,链式赋值是一种同时给多个变量赋值的方式,可以将一个值同时赋给多个变量。例如:
a = b = c = 10
这样就将值10同时赋给了变量a、b和c。在这种情况下,a、b和c都指向同一个内存地址,它们共享同一个值。
而在C语言中,链式赋值是一种连续赋值的方式,每个变量都会被赋予不同的值。例如:
int a, b, c;
a = b = c = 10;
在这种情况下,变量a、b和c分别被赋值为10,它们在内存中占据不同的地址,它们之间没有共享关系。
因此,Python的链式赋值是将多个变量指向同一个对象,而C语言的链式赋值是将多个变量分别赋予不同的值。
并且python是对象语义类型编程语言,而C语言是值语义类型编程语言;
因此C语言的赋值语句具有返回值,而python的赋值语句仅仅是一条语句,不是表达式,没有返回值。
x=(y=1);
那么c语言中,运行的结果就为:x=1,y=1;而在python中运行则会报错,因为此时y=1相当于一个语句,没有返回值,不能被赋给x。
Python 的定义中,表达式是由操作符(Operator)连接而成的语句,但等号 = 并不属于 Python 的操作符,而是分隔符(Delimiters)来自: Python 笔试集(1):关于 Python 链式赋值的坑-CSDN博客>】
总结:python与C语言均具有链式赋值的特点,但是二者有本质的区别;实际操作中只需要知道:python与C语言从左往右与从右往左的区别即可;
3.python中逗号的作用:
python中逗号有两个作用:(1)作为分隔符;例如:多个变量同时赋值(x,y,z=1,2,3)(2)类型转换;
注:在逗号与赋值=同时出现的时候,首先执行的应该是赋值语句,x=5,y=6,x=1
因为第一个逗号前为x=5,而逗号后面的是y,而此时二者不对等,python中就会直接报错;所以python中就没有C语言中的逗号表达式!