x=9
y=7
z=x if x<y else y
print(z)
如上所示可以运行成功 结果为7
x=9
y=7
z=z=x if x<y else y
print(z)
如上所示也可以运行成功 结果为7
求解z=x 和z=z=x 有什么区别 为什么可以运行成功
谢谢大佬!
x = y = 10
print(x, y)
z=z=x这种赋值方式是支持的,这是将x的值赋予z,你虽然写了z=z=x,但实际上只执行一次赋值,因为变量z都是同一个变量
这与三元表达式没关系
a=b=1 是同时给a和b两个变量都赋值为1
这与三元表达式没关系
a=b=1 是同时给a和b两个变量都赋值为1
你
z=z=x if x<y else y
是先计算x if x<y else y 结果是7
然后是
z=z=7 是两次给同一个z变量赋值为7,
第二次赋值没有意义
等同是这样:
z=x if x<y else y
z=z
这题考虑运算符的优先级 下面比上面的多执行一步z=z 而python支持自赋值,虽然没什么用。所以可以运行成功
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632