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
赋值运算符是一个整体,中间不能有空格,否则出错。
博文最后更新时间: