C和許多其他語言都有一個conditional (aka ternary)操作員。這使您可以根據條件的真實性在兩個值之間做出非常簡潔的選擇,這使得表達式(包括分配)非常簡潔。python? (條件/三元)操作員
我想這是因爲我發現我的代碼有很多是需要在Python四行有條件分配的:
if condition:
var = something
else:
var = something_else
而在C中,它會是:
var = condition? something: something_else;
一次或兩次在一個文件中是好的,但是如果你有很多條件賦值,那麼線條的數量會爆炸,最糟糕的是,眼睛會被吸引到它們。
我喜歡條件運算符的簡潔性,因爲它使我認爲不具戰略性的東西在跳過代碼時分散注意力。
那麼,在Python中,是否有任何技巧可以用來將賦值指派到單行上,以近似我描述的條件運算符的優點?
「變量=條件和東西或something_else」甚至不工作。 例如,「True and False or True」返回True,而「True False:True」返回False。 – karadoc 2012-05-17 10:27:09
Something or Something_else正常嗎?例如,如果某件事是空的,你會把它設置爲something_else? – Breedly 2013-05-14 13:01:41