虫行天下 发表于 2022-4-12 22:55:13

执行优先级问题求助

第十五课视频中

小甲鱼视频老师的表述:   small =aifa<b else b,为什么不是”small =aifa<b elsesmall = b“,或者” small =(aifa<b else b )“


wp231957 发表于 2022-4-12 23:04:49

规定

虫行天下 发表于 2022-4-12 23:04:56

=是赋值的符号,不是逻辑符号 。=赋值,什么时候需要加括号?

andy大宝 发表于 2022-4-13 09:02:20

实践出真知{:10_315:}
>>> a = 3
>>> b = 5
>>> small =aifa<b else b
>>> small
3
>>> small = 0
>>> a = 3
>>> b = 5
>>> small =aifa<b elsesmall = b
SyntaxError: cannot assign to conditional expression
>>> a = 3
>>> b = 5
>>> small =(aifa<b else b )
>>> small
3
显然,前者small =aifa<b elsesmall = b的输入是不合法的,但是small =(aifa<b else b )却可以返回一个正确的值
你可以理解为:
result = 0
if a < b:
    result = a
else:
    result = b
print(result)
而这里的result赋值给了small变量,即small = result
就有了第三个表达式
页: [1]
查看完整版本: 执行优先级问题求助