16.1-算數(shù)運(yùn)算符:
運(yùn)算符 | 描述 |
---|---|
+ | 加-兩個(gè)對象相加 |
- | 減 - 得到負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù) |
* | 乘 - 兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串 |
/ | 除 - a除以b |
% | 取模 - 返回除法的余數(shù) |
** | 冪 - 返回a的b次冪 |
// | 取整除 - 返回商的整數(shù)部分 |
實(shí)例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設(shè)置變量 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)
運(yùn)行結(jié)果:
Python2 和 Python3 的區(qū)別:
在 Python2.7 中 11 / 4 = 2,在傳統(tǒng)的算數(shù)中是等于 2.75 的晌姚,這是因?yàn)?Python2.7 中使用的是舍去式除法邑蒋,當(dāng)兩個(gè)操作對象都是整數(shù)時(shí),結(jié)果也是個(gè)整數(shù)豆瘫,舍去式除法會(huì)舍去小數(shù)部分珊蟀,如果想要在 Python2.7 中進(jìn)行改變的話需要導(dǎo)入一個(gè)模塊。但在 Python3 中外驱,這個(gè)除法的結(jié)果是浮點(diǎn)數(shù)類型育灸。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from __future__ import division
a = 11 / 4
print(a)
運(yùn)行結(jié)果:
16.2-比較運(yùn)算符:
運(yùn)算符 | 描述 |
---|---|
== | 等于,比較對象是否相等 |
!= | 不等于 - 比較兩個(gè)對象是否不相等 |
<> | 不等于 - 比較兩個(gè)對象是否不相等昵宇,這個(gè)運(yùn)算符類似 != 磅崭。(Python3中已廢棄) |
> | 大于 - 返回a是否大于b |
< | 小于 - 返回a是否小于b。 |
>= | 大于等于 - 返回a是否大于等于b瓦哎。 |
<= | 小于等于 - 返回a是否小于等于b砸喻。 |
實(shí)例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設(shè)置變量 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")
運(yùn)行結(jié)果:
16.3-賦值運(yùn)算符:
運(yùn)算符 | 描述 |
---|---|
= | 簡單的賦值運(yùn)算符 |
+= | 加法賦值運(yùn)算符 |
-= | 減法賦值運(yùn)算符 |
*= | 乘法賦值運(yùn)算符 |
/= | 除法賦值運(yùn)算符 |
%= | 取模賦值運(yùn)算符 |
**= | 冪賦值運(yùn)算符 |
//= | 取整除賦值運(yùn)算符 |
實(shí)例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設(shè)置變量 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)
運(yùn)行結(jié)果:
16.4-位運(yùn)算符:
運(yùn)算符 | 描述 |
---|---|
& | 按位與運(yùn)算符:參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0 |
\ | 按位或運(yùn)算符:只要對應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1蒋譬。 |
^ | 按位異或運(yùn)算符:當(dāng)兩對應(yīng)的二進(jìn)位相異時(shí)割岛,結(jié)果為1。 |
~ | 按位取反運(yùn)算符:對數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?犯助,且符號位進(jìn)行補(bǔ)碼癣漆,簡單的可以理解為 ~a=-(a+1)。 |
<< | 左移動(dòng)運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位剂买,由"<<"右邊的數(shù)指定移動(dòng)的位數(shù)惠爽,高位丟棄,低位補(bǔ)0瞬哼。 |
>> | 右移動(dòng)運(yùn)算符:把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位婚肆,">>"右邊的數(shù)指定移動(dòng)的位數(shù)。 |
實(shí)例:
按位運(yùn)算符就是把數(shù)字看作二進(jìn)制來進(jìn)行計(jì)算的坐慰。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
以下設(shè)置變量 a = 60,b = 13
二進(jìn)制格式: a = 00111100,b = 00001101
"""
a = 60 # a = 00111100
b = 13 # b = 00001101
print("按位與運(yùn)算符:",a & b,bin(a & b)) # 12 = 00001100
print("按位或運(yùn)算符:",a | b,bin(a | b)) # 61 = 00111101
print("按位異或運(yùn)算符:",a ^ b,bin(a ^ b)) # 49 = 00110001
print("按位取反運(yùn)算符:",~a,bin(-61)) # 60 -> -(60+1) 即 -61 轉(zhuǎn)為二進(jìn)制為 -00111101
print("左移動(dòng)運(yùn)算符:",a << 2,bin(a << 2)) # 240 = 11110000
print("右移動(dòng)運(yùn)算符:",a >> 2,bin(a >> 2)) # 15 = 00001111
運(yùn)行結(jié)果:
16.5-邏輯運(yùn)算符
運(yùn)算符 | 邏輯表達(dá)式 | 描述 |
---|---|---|
and | a and b | 布爾"與" - 如果 a 為 False较性,a and b 返回 False,否則它返回 b 的計(jì)算值结胀。 |
or | a or b | 布爾"或" - 如果 a 是非 0两残,它返回 a 的值,否則它返回 b 的計(jì)算值把跨。 |
not | not a | 布爾"非" - 如果 a 為 True人弓,返回 False 。如果 a 為 False着逐,它返回 True崔赌。 |
實(shí)例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設(shè)置變量 a = 20,b = 10
a = 20
b = 10
if a and b:
print("變量 a 和 b 都為 True")
else:
print("變量 a 和 b 有一個(gè)不為 True")
if a or b:
print("變量 a 和 b 有一個(gè)為 True 或都為 True")
else:
print("變量 a 和 b 都不為 True")
if not(a and b):
print("變量 a 和 b 都為 False 或一個(gè)為 False")
else:
print("變量 a 和 b 都為 true")
運(yùn)行結(jié)果:
16.6-成員運(yùn)算符:
運(yùn)算符 | 描述 |
---|---|
in | 如果在指定的序列中找到值返回 True意蛀,否則返回 False。 |
not in | 如果在指定的序列中沒有找到值返回 True健芭,否則返回 False县钥。 |
實(shí)例:
#!/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)
運(yùn)行結(jié)果:
16.7-身份運(yùn)算符:
運(yùn)算符 | 描述 |
---|---|
is | is 是判斷兩個(gè)標(biāo)識符是不是引用自一個(gè)對象 |
is not | is not 是判斷兩個(gè)標(biāo)識符是不是引用自不同對象 |
實(shí)例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#以下設(shè)置變量 a = 20,b = 20
a = 20
b = 20
c = a is b # 類似于 id(a) == id(b),a 和 b 引用的是統(tǒng)一對象所以返回 True
print(c)
c = a is not b # a 和 b 引用的是統(tǒng)一對象所以返回 False
print(c)
運(yùn)行結(jié)果: