幾種主要的但容易混淆的運(yùn)算符
首先,加(+)減(-)乘(*)除(/)和日常生活中數(shù)學(xué)算數(shù)運(yùn)算是一樣的,優(yōu)先級(jí)也是一樣的。但有一點(diǎn)要注意的是,Python中的除運(yùn)算是遵循數(shù)學(xué)算數(shù)運(yùn)算的,這一點(diǎn)和其他語(yǔ)言的除運(yùn)算是不一樣的,比如說(shuō),在C語(yǔ)言中的除運(yùn)算,兩數(shù)相除結(jié)果是int整型而不是一個(gè)float浮點(diǎn)型。而除了加減乘除,Python還有取整除(//),取余(%),冪(**)三種運(yùn)算,也是很有趣。
取整數(shù)(//):兩數(shù)相除,結(jié)果返回商的整數(shù)部分(個(gè)人理解:直接舍去小數(shù)點(diǎn)后面所有位數(shù))
取余(%):兩數(shù)相除,結(jié)果只返回余數(shù)
冪(**):即數(shù)學(xué)運(yùn)算中的冪運(yùn)算,返回x的y次方冪
>>>10+10
20
>>>100-50
50
>>>100*3
300
>>>10/3
3.3333333333333335>>>10//4
2
>>>5%2
1
>>>10//3
3
>>>2**3
8
補(bǔ)充:
Python中的乘(*)運(yùn)算,除了用于計(jì)算之外,還有一種用法,直接舉例說(shuō)明:
>>>print("="*5)
=====
乘(*)對(duì)于字符或字符串來(lái)說(shuō),相當(dāng)于字符或字符串有多少個(gè),而不是計(jì)算。
復(fù)合賦值運(yùn)算符
同樣的復(fù)合賦值運(yùn)算符也有加(+=)減(-=)乘(*=)除(/=)取整除(//=)取模(%=)冪(**=)幾種運(yùn)算,但這里不展開(kāi)講講。一般實(shí)際過(guò)程中很少會(huì)用到這種方法,因?yàn)榭勺x性低。但如果碰到的話,有一個(gè)地方很重要,這里涉及到優(yōu)先級(jí),舉例說(shuō)明:
>>>a=56
>>>b=78
>>>c=42
>>>
>>>
>>>a+=b-c*2 #a = a + (b - c * 2) = 56 + (78 - 42 * 2) = 56 + (-6) = 50
>>>a
50#注意:此時(shí)的a = 50
>>>a*=b-c*2 #a = a * (b - c * 2) = 50 * (78 - 42 * 2) = 50 * (-6) = -300
>>>a
-300
其實(shí)實(shí)際過(guò)程中,在寫(xiě)運(yùn)算表達(dá)式時(shí)都是直接使用括號(hào)(),以此來(lái)確立優(yōu)先級(jí),可讀性也高,更不用背優(yōu)先級(jí)表。