python 代码中,有时写 if else比较占行,把代码变一行的方法就是二元表达式,
二元表达式必须要有else,示例如下:
if img is None:
break
cv2.imwrite("aaa.jpg", img) if count== 0 else 1
这个不支持:
break if img is None else print("asdf")
支持:
for i in range(10):
print("asdf") if i>1 else print("asdf")
二元表达式:
wide=1
new_w = 299 if not wide else 28
print(new_w)
new_w = 299 if wide>0 else 28
print(new_w)
可以嵌套成多元表达式
weights = [10 if label==2 else 1 if label==1 else 3 if label==0 else 28 for data, label in m_dataset]