python中:++与--;链式赋值;逗号

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语言中的逗号表达式!

  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值