16.1-算數運算符:
運算符 | 描述 |
---|---|
+ | 加-兩個對象相加 |
- | 減 - 得到負數或是一個數減去另一個數 |
* | 乘 - 兩個數相乘或是返回一個被重復若干次的字符串 |
/ | 除 - a除以b |
% | 取模 - 返回除法的余數 |
** | 冪 - 返回a的b次冪 |
// | 取整除 - 返回商的整數部分 |
實例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設置變量 a = 20,b = 10
a = 20
b = 10
print("a + b的值為:",a + b)
print("a - b的值為:",a - b)
print("a * b的值為:",a * b)
print("a / b的值為:",a / b)
print("a % b的值為:",a % b)
print("a ** b的值為:",a ** b)
print("a // b的值為:",a // b)
運行結果:
Python2 和 Python3 的區別:
在 Python2.7 中 11 / 4 = 2,在傳統的算數中是等于 2.75 的,這是因為 Python2.7 中使用的是舍去式除法,當兩個操作對象都是整數時,結果也是個整數,舍去式除法會舍去小數部分,如果想要在 Python2.7 中進行改變的話需要導入一個模塊。但在 Python3 中,這個除法的結果是浮點數類型。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from __future__ import division
a = 11 / 4
print(a)
運行結果:
16.2-比較運算符:
運算符 | 描述 |
---|---|
== | 等于,比較對象是否相等 |
!= | 不等于 - 比較兩個對象是否不相等 |
<> | 不等于 - 比較兩個對象是否不相等,這個運算符類似 != 。(Python3中已廢棄) |
> | 大于 - 返回a是否大于b |
< | 小于 - 返回a是否小于b。 |
>= | 大于等于 - 返回a是否大于等于b。 |
<= | 小于等于 - 返回a是否小于等于b。 |
實例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設置變量 a = 20,b = 10
a = 20
b = 10
if a == b: #a == b 返回 False
print("a == b")
else:
print("a != b")
if a != b: #a !=b 返回 True
print("a != b")
else:
print("a == b")
if a > b: # a > b 返回 True
print("a > b")
else:
print("a < b")
if a < b: # a < b 返回 False
print("a < b")
else:
print("a > b")
if a >= b: # a >= b 返回 True
print("a >= b")
else:
print("a <= b")
if a <= b: # a <= b 返回 False
print("a <= b")
else:
print("a >= b")
運行結果:
16.3-賦值運算符:
運算符 | 描述 |
---|---|
= | 簡單的賦值運算符 |
+= | 加法賦值運算符 |
-= | 減法賦值運算符 |
*= | 乘法賦值運算符 |
/= | 除法賦值運算符 |
%= | 取模賦值運算符 |
**= | 冪賦值運算符 |
//= | 取整除賦值運算符 |
實例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設置變量 a = 20,b = 10
a = 20
b = 10
a += b #a += b 等效于 a = a + b
print("a += b:",a)
a -= b #a -= b 等效于 a = a - b
print("a -= b:",a)
a *= b #a *= b 等效于 a = a * b
print("a *= b:",a)
a /= b #a /= b 等效于 a = a / b
print("a /= b:",a)
#修改了變量 a 和 b 的值
a = 20
b = 10
a %= b #a %= b 等效于 a = a % b
print("a %= b:",a)
#修改了變量 a 和 b 的值
a = 20
b = 10
a **= b #a **= b 等效于 a = a ** b
print("a **= b:",a)
#修改了變量 a 和 b 的值
a = 20
b = 10
a //= b #a //= b 等效于 a = a // b
print("a //= b:",a)
運行結果:
16.4-位運算符:
運算符 | 描述 |
---|---|
& | 按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 |
\ | 按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。 |
^ | 按位異或運算符:當兩對應的二進位相異時,結果為1。 |
~ | 按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1,且符號位進行補碼,簡單的可以理解為 ~a=-(a+1)。 |
<< | 左移動運算符:運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。 |
>> | 右移動運算符:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數。 |
實例:
按位運算符就是把數字看作二進制來進行計算的。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
以下設置變量 a = 60,b = 13
二進制格式: a = 00111100,b = 00001101
"""
a = 60 # a = 00111100
b = 13 # b = 00001101
print("按位與運算符:",a & b,bin(a & b)) # 12 = 00001100
print("按位或運算符:",a | b,bin(a | b)) # 61 = 00111101
print("按位異或運算符:",a ^ b,bin(a ^ b)) # 49 = 00110001
print("按位取反運算符:",~a,bin(-61)) # 60 -> -(60+1) 即 -61 轉為二進制為 -00111101
print("左移動運算符:",a << 2,bin(a << 2)) # 240 = 11110000
print("右移動運算符:",a >> 2,bin(a >> 2)) # 15 = 00001111
運行結果:
16.5-邏輯運算符
運算符 | 邏輯表達式 | 描述 |
---|---|---|
and | a and b | 布爾"與" - 如果 a 為 False,a and b 返回 False,否則它返回 b 的計算值。 |
or | a or b | 布爾"或" - 如果 a 是非 0,它返回 a 的值,否則它返回 b 的計算值。 |
not | not a | 布爾"非" - 如果 a 為 True,返回 False 。如果 a 為 False,它返回 True。 |
實例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設置變量 a = 20,b = 10
a = 20
b = 10
if a and b:
print("變量 a 和 b 都為 True")
else:
print("變量 a 和 b 有一個不為 True")
if a or b:
print("變量 a 和 b 有一個為 True 或都為 True")
else:
print("變量 a 和 b 都不為 True")
if not(a and b):
print("變量 a 和 b 都為 False 或一個為 False")
else:
print("變量 a 和 b 都為 true")
運行結果:
16.6-成員運算符:
運算符 | 描述 |
---|---|
in | 如果在指定的序列中找到值返回 True,否則返回 False。 |
not in | 如果在指定的序列中沒有找到值返回 True,否則返回 False。 |
實例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
list = [11,22,33,44,[55,66,77,88]]
ret = 22 in list # 22 在 list列表中所以返回 True
print(ret)
ret = [55,66,77,88] in list # [55,66,77,88]該列表 在 list列表中所以返回 True
print(ret)
ret = 55 not in list # 55 不在 list列表中所以返回True
print(ret)
運行結果:
16.7-身份運算符:
運算符 | 描述 |
---|---|
is | is 是判斷兩個標識符是不是引用自一個對象 |
is not | is not 是判斷兩個標識符是不是引用自不同對象 |
實例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設置變量 a = 20,b = 20
a = 20
b = 20
c = a is b # 類似于 id(a) == id(b),a 和 b 引用的是統一對象所以返回 True
print(c)
c = a is not b # a 和 b 引用的是統一對象所以返回 False
print(c)
運行結果: