-4
根據我的Python課本(學習Python的硬路)和互聯網上的幾個來源,操作Python的順序是: 括號指數乘除加減Python的訂單 - 加法和減法
那麼怎麼來的
> print 1-5+4
返回0而不是-8?
根據我的Python課本(學習Python的硬路)和互聯網上的幾個來源,操作Python的順序是: 括號指數乘除加減Python的訂單 - 加法和減法
那麼怎麼來的
> print 1-5+4
返回0而不是-8?
Python的運算符優先級的官方表是here (Python 2),並且與大多數語言一樣,加法&減法具有相同的優先級。
因此,看看如何定義binary arithmetic operators,您可以看到它將解析表達式,使得操作符從左到右應用(即,它將從左邊開始應用相同的優先級,稱爲左在相繼的加法/減法的情況下。
1 - 5 + 4
= a_expr + m_expr
=(a_expr - m_expr) + m_expr
=(m_expr - m_expr) + m_expr
https://en.wikipedia.org/wiki/Order_of_operations#Mnemonics「這些助記符(PEMDAS)可能:
所以,你的表達
1-5+4
被按照上述規則解析這樣的事情如果用這種方式寫的話[7]會引起誤解,特別是如果用戶不知道乘法和除法的加法和減法的優先級相同,那麼加法和減法的優先級相同。「 – kennytm