直接给出问题吧,以后只在定义是进行多变量同时赋值算了。希望有大神能够解答
#定义变量
minL = 0
a = 0
b = 1
subL = 2
print(minL, a, b, subL) # 0 0 1 2
#方法一
minL, a = subL, b if subL < minL else minL
#方法二
# if subL < minL:
# minL = subL
# a=b
# else:
# pass
print(minL, a, b, subL)
# 方法一 2 0 1 2
# 方法二 0 0 1 2
我以为方法一和方法二是等价的,还是我太年轻了,根本不一样。
如果不是多变量在三元表达式里面用,法一和法二 倒是正常输出。如下示例
minL = 0
a = 0
b = 1
subL = 2
print(minL, a, b, subL)
# 方法一
minL = subL if subL < minL else minL
# 方法二
# if subL < minL:
# minL = subL
# else:
# pass
print(minL, a, b, subL)
#0 0 1 2
#0 0 1 2