2012-12-24 23 views
-1

對不起,我敢肯定有人問十億倍,但我couln't已經找到確切的答案:的Python如果修改優先

var = value if condition else other_value 

什麼是if .. else相對於分配的優先級?像在C/Java三元或不是?

+0

爲了清楚我爲什麼要問這個問題:我是一個python newb,並且在我的程序的某個地方,我突然懷疑如果'condition'評估爲'False',那麼分配不會執行。畢竟錯誤的懷疑,這個錯誤是在其他地方:) – dmitry

回答

6

if/else表達式是一個表達式,但賦值語句是一個語句。所以在Python中,你不需要考慮兩者的優先級,if/else將首先完成。

在C語言中,賦值也是一個表達式,因此您可以按照Python中不能使用的方式混合和匹配條件語句和賦值語句。

5

作業始終具有最低的優先順序;它不是表達的一部分。

事實上,轉讓是聲明;你永遠不能在表達式中使用賦值。