Python 基础知识:运算符和表达式
+ : 加 : 两个对象相加 : 5 + 6得到11,'c' + 'd'得到'cd'。
- : 减 : 定义一个负数,或两个对象相减。 : -8.5,或70-24得到46。
∗ : 乘 : 两数相乘或返回一个被重复若干次的字符串、列表、元组等。 : 3∗4得到12。'he'∗3得到'hehehe'。
/ : 除 : x/y是x除以y。 : 5 / 3得到1.66667。8.0/4.0得到2.0。
// : 取整除 : 返回商的整数部分。 : 5 // 3得到1。
% : 取模 : 返回除法的余数。 : 10%3得到1。-25.5%2.25得到1.5。
∗∗ : 幂 : x**y即返回x的y次幂。 : 2∗∗3得到8(即 2∗2∗2)。
举例
>>> print(6 + 7, 'm' + 'n') # 加(x + y)
13 mn
>>> print(-7.2) # 负(- x)
-7.2
>>> print(30 - 26) # 减(x - y)
14
>>> print(7 * 3, 'ha' * 3) # 乘(x * y)
21 hahaha
>>> print(5 / 3, 8.0 / 2.0) # 除(x / y)
1.6666666666666667 4.0
>>> print(10 // 3) # 取整(x // y)
3
>>> print(10 % 3, -25.5 % 2.25) # 取余(x % y)
1 1.5
>>> print(3 ** 3) # 幂(x ** y)
27
位运算符是进行二进制运算的,需要将数字转为二进制,如6的二进制为0110。
<< : 左移 : 把<<左边的运算数的各二进制位全部左移若干位(由<<右边的数指定移动的位数),高位丢弃,低位补0。 : 2 << 2得到8(即0010左移两位,右边补0,结果为1000)。
>> : 右移 : 把>>左边的运算数的各二进制位全部右移若干位,(由>>右边的数指定移动的位数 ),低位丢弃,高位补0。: 11 >> 1得到5(即1011右移一位,左边补0,结果为0101)。
& : 按位与 : 参与运算的两个值,如果相应的两个位都为1,则对应位按位与运算的结果为1,否则为0。 : 5 & 3得到1(即0101 & 0011,结果为0001)。
| : 按位或 : 两个数对应的二进制位有一个为1时,则对应位按位或运算的结果为1,否则为0。 : 5︱ 3得到7(即0101︱0011,结果为0111)。
^ : 按位异或 : 两个数对应的二进制位不相同时,则该对应位按位异或运算的结果为1,否则为0。 : 5 ^ 3得到6(即0101^0011,结果为0110)。
~ : 按位取反 : 每个二进制位取反,即把1变为0,把0变为1。~x = -x-1 : ~5得到-6(10101+ 10001 --> 10110, 是一个有符号二进制数的补码形式。)
举例
>>> print(2 << 2) #左移 ( x << y 0010 --> 1000)
8
>>> print(11 >> 1) #右移 ( x >> y 1011 --> 0101)
5
>>> print(5 & 3) #位与 ( x & y 0101 & 0011 --> 0001)
1
>>> print(5 | 3) #位或 ( x | y 0101 | 0011 --> 0111)
7
>>> print(5 ^ 3) #异或 ( x ^ y 0101 ^ 0011 --> 0110)
6
>>> print(~5) #取反 ( ~x 10000101 + 10000001 --> 10000110)
-6
< : 小于 : 返回x是否小于y。若为真返回True,为假返回False : 5<3返回False,3<5返回True。
> : 大于 : 返回x是否大于y回x是否大于y 。 : 5>3返回True
<= : 小于等于 : 返回x是否小于或等于y : 3<=4返回True
>= : 大于等于 : 返回x是否大于或等于y : 4>=6返回False
== : 等于 : 比较是否相等 : 'str'=='stR'返回False
!= : 不等于 : 比较是否不相等 : 'str'!='stR'返回True
举例:
>>> print(5 < 3) #小于(x < y)
False
>>> print(5 > 3) #大于(x > y)
True
>>> print(3 <= 4) #小于等于(x <= y)
True
>>> print(4 >= 6) #大于等于(x >= y)
False
>>> print('str' == 'stR') #等于(x== y)
False
>>> print('str' != 'stR') #不等于(x != y)
True
not : 逻辑“非” : not x;如果x为True,返回False,否则返回True。 : x=True;not x返回False。
and : 逻辑“与” : x and y;x,y都为True返回True,否则返回False。 : x=False;y=True;x and y;由于x是False,返回False。
or : 逻辑“或” : x or y;x或y至少一个为True,返回True,否则返回False。 : x=True;y=False;x or y返回True。
举例:
>>> print(5 < 3)
False
>>> x = (5 < 3)
>>> print(not x) #逻辑"非" not x
True
>>> x = False
>>> y = True
>>> print(x and y) #逻辑"与" x and y
False
>>> x = True
>>> y = False
>>> print(x or y) #逻辑"或" x or y
True
算术运算符和简单的赋值运算符“=”结合可构成复杂的赋值运算符。
= : 简单的赋值运算符 : c = 10 将10赋值给c
+= : 加法赋值运算符 : c += a 等效于 c = c + a
-= : 减法赋值运算符 : c -= a 等效于 c = c - a
∗= : 乘法赋值运算符 : c ∗= a 等效于 c = c ∗ a
/= : 除法赋值运算符 : c /= a 等效于 c = c / a
%= : 取模赋值运算符 : c %= a 等效于 c = c % a
∗∗= : 幂赋值运算符 : c∗∗= a 等效于 c = c ∗∗ a
//= : 取整除赋值运算符 : c //= a 等效于 c = c//a
举例:
>>> c = 10 #赋值 =
>>> print(c)
10
>>> c += 2 #相加赋值 +=
>>> print(c)
12
>>> c -= 2 #相减赋值 -=
>>> print(c)
10
>>> c *= 2 #相乘赋值 *=
>>> print(c)
20
>>> c /= 2 #相除赋值 /=
>>> print(c)
10.0
>>> c %= 3 #取模赋值 %=
>>> print(c)
1
>>> c = 10
>>> c **= 2 #幂赋值 **=
>>> print(c)
100
>>> c //= 10 #取整赋值 //=
>>> print(c)
10
赋值运算符是一个整体,中间不能有空格,否则出错。
博文最后更新时间: