if语句
为啥这种if第五种形式不能用赋值语句语句1 if 条件 else 语句2
small = a if a < b else small = b报错
print('a小') if a < b else print('b小')正常运行{:5_100:} 代码:
a = 1
b = 2
small = a if a < b else b
print(small)
运行结果:
1
三目运算符中途不能进行赋值的,因为该语法结构最终会返回一个结果,你最后赋值才是正确的做法,参考代码:
small = a if a < b else b
这里如果 if 条件成立,就将 a 赋值给 small,反之不成立,将 b 赋值给 small ,不能在 else 里面进行赋值
而 :
print('a小') if a < b else print('b小')
这段代码,没有在三目运算符过程中赋值,也就符合语法规则,不会导致报错
Twilight6 发表于 2022-9-24 21:12
三目运算符中途不能进行赋值的,因为该语法结构最终会返回一个结果,你最后赋值才是正确的做法,参考代 ...
那三目运算符中不能赋值,只是small = a if a < b else small = b
而 if 条件1
small = a
else 条件2:
small = b这个也属于三目运算中吧,但它能赋值
Pythonfhf 发表于 2022-9-24 21:24
那三目运算符中不能赋值,只是small = a if a < b else small = b
而 if 条件1
smal ...
这个不叫三目运算符,这就是普通的 if - else 条件分支
三目运算符基本结构: <if成立返回值> if <条件> else <if 不成立返回值>
Pythonfhf 发表于 2022-9-24 21:24
那三目运算符中不能赋值,只是small = a if a < b else small = b
而 if 条件1
smal ...
没认真看,你这代码连 if - else 结构都不是 ,else 处 不能写条件
只有 if 或者 else if后续才能写上条件,所以你这举的代码是错误代码
Twilight6 发表于 2022-9-24 21:28
没认真看,你这代码连 if - else 结构都不是 ,else 处 不能写条件
只有 if 或者 else if后续才 ...
收到{:5_102:} Pythonfhf 发表于 2022-9-24 21:29
收到
加油
页:
[1]