咳嗽,直接进入正题吧。
自增()/--)、赋值语句和逗号表达式都是C/C中常见的运算符或表达式。
熟悉抄送的伙伴们都知道,在抄送里:
自增-减(前缀/后缀)运算符将变量的值加1/1。 如x=0那样x; 的语句将最终x的值设置为1
赋值语句将给定值作为该语句的返回值(值传递); 类似(x=func () ) 0; 函数func ) )的返回值指定给变量x,并继续执行x 0的条件判断语句。 在C/C中,这类语句显然是合法和简洁的
逗号表达式使用逗号作为语句之间的分隔符,最后一个表达式的值用作整个逗号表达式的值。x=5,y=6,x y; 的语句是逗号表达式,执行x=5,然后执行y=6,最终比较x y的结果是0,0是逗号表达式的结果
但是!
这些!
在python上全部无效!
我们先来看看第一个例子
请注意,x和--x得到的值都是x的值5。 也就是说,没有像我们想象的那样将/--x的值设为1/-1。 这个伪自我增加真冷酷。
然后我注意到后缀的/--不仅没有进行更改,而且还提示了语法错误
python lady真的很笨啊
问题就放在这里,看看下面的实例吧
在这里,我们仍然像使用c一样使用这一系列语句,最终确定x的值是否大于0,但直接弄错了SyntaxError!
我知道这一系列的词起不到很好的作用,问题是什么呢?
让我们来看看最后一个例子
很明显,我用c语法在这里写了逗号表达式。 逗号表达式包含赋值语句
python lady仍然无情地报告错误
答案是:
1.python没有自增自减算子,只有作为符号(/- )的数学符号
因此,在上述例子中,x相当于x的值取正取正,--x相当于x的值取负,当然最后的x的值不变
我们知道数学中符号只在数字之前,不在数字之后。 因此,在c后面的后缀----python中应该报告错误
看一个例子,加深理解
怎么样,这样就清楚了吧
2.python的赋值语句采用引用传递而不是值传递
也就是说,y=x=5正确,传递引用,y=(x=5)错误
前者是python的链赋值,从左向右,首先y参照对象5,然后x参照对象5
后者的赋值编号在python中从左到右,但由于括号具有较高的优先级,因此它首先引用对象5,而x=5没有返回值,因此将没有返回值的结果赋值给y
参考链接: https://blog.csdn.net/weixin _ 34320159/article/details/93577037
还记得在python上同时赋值的语句吗?
x,y,z=3,4,5
这个句子x上3,y上4,z上5, 要同时赋值,等号两侧的数量必须对等。
示例语句中x=5、y=6、x y
逗号和赋值混合使用后,python lady自然会先考虑赋值,发现前半部分x=5、y错误等,直接报告错误
可见python没有丙/丙逗号表达式
在python上逗号的作用是2 :
分隔符a,我们的多个变量同时分配语句
B型变换还记得元组中提到的(5)和(5,)的区别吗? 前者的类型为int,后者的类型为tuple元组
每天一点一点地精进,加油!