關於計算子 Operator 的操作順序,在"像計算機科學家一樣思考Python"這書 [1] 寫的明白扼要。它以 PEMDAS 這幾個簡單的英文字開頭表明:
P (Parentheses) 括號。 表達式中有括號,則優先計算。
例如: 2 * ( 2 + 2 ) 是 8
E (Exponentiation) 指數,乘方。
例如: 1 + 2 ** ( 2 + 2) 是 17
M (Multiplication) 乘法。
例如: 1 + 2 * 2 + 3 是 8
D (Division) 除法。乘法與除法有相同的優先級別
例如: 1 + 8 / 2 是 5。
乘法與除法有相同的優先級別,所以當同時都有,計算順序由左至右。
例如: 1 + 8 * 2 / 4 是 5
A (Addition) 加法。
S (Substraction) 減法。
加法與減法也有相同的優先級別,所以當同時都有,計算順序由左至右。
參考
1. "像計算機科學家一樣思考Python",[美] Allen B. Downey,O'Reilly,中國工信出版社 / 人民郵電出版社,ISDN 97871154255515