几种主要的但容易混淆的运算符
首先,加(+)减(-)乘(*)除(/)和日常生活中数学算数运算是一样的,优先级也是一样的。但有一点要注意的是,Python中的除运算是遵循数学算数运算的,这一点和其他语言的除运算是不一样的,比如说,在C语言中的除运算,两数相除结果是int整型而不是一个float浮点型。而除了加减乘除,Python还有取整除(//),取余(%),幂(**)三种运算,也是很有趣。
取整数(//):两数相除,结果返回商的整数部分(个人理解:直接舍去小数点后面所有位数)
取余(%):两数相除,结果只返回余数
幂(**):即数学运算中的幂运算,返回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
补充:
Python中的乘(*)运算,除了用于计算之外,还有一种用法,直接举例说明:
>>>print("="*5)
=====
乘(*)对于字符或字符串来说,相当于字符或字符串有多少个,而不是计算。
复合赋值运算符
同样的复合赋值运算符也有加(+=)减(-=)乘(*=)除(/=)取整除(//=)取模(%=)幂(**=)几种运算,但这里不展开讲讲。一般实际过程中很少会用到这种方法,因为可读性低。但如果碰到的话,有一个地方很重要,这里涉及到优先级,举例说明:
>>>a=56
>>>b=78
>>>c=42
>>>
>>>
>>>a+=b-c*2 #a = a + (b - c * 2) = 56 + (78 - 42 * 2) = 56 + (-6) = 50
>>>a
50#注意:此时的a = 50
>>>a*=b-c*2 #a = a * (b - c * 2) = 50 * (78 - 42 * 2) = 50 * (-6) = -300
>>>a
-300
其实实际过程中,在写运算表达式时都是直接使用括号(),以此来确立优先级,可读性也高,更不用背优先级表。