Python基礎(chǔ)(16)-運(yùn)算符

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é)果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慈迈,一起剝皮案震驚了整個(gè)濱河市若贮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌痒留,老刑警劉巖谴麦,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異伸头,居然都是意外死亡匾效,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門恤磷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來面哼,“玉大人,你說我怎么就攤上這事扫步∧Р撸” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵河胎,是天一觀的道長闯袒。 經(jīng)常有香客問我,道長仿粹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任原茅,我火速辦了婚禮吭历,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘擂橘。我一直安慰自己晌区,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布通贞。 她就那樣靜靜地躺著朗若,像睡著了一般。 火紅的嫁衣襯著肌膚如雪昌罩。 梳的紋絲不亂的頭發(fā)上哭懈,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機(jī)與錄音茎用,去河邊找鬼遣总。 笑死睬罗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的旭斥。 我是一名探鬼主播容达,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼垂券!你這毒婦竟也來了花盐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤菇爪,失蹤者是張志新(化名)和其女友劉穎算芯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娄帖,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡也祠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了近速。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诈嘿。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖削葱,靈堂內(nèi)的尸體忽然破棺而出奖亚,到底是詐尸還是另有隱情,我是刑警寧澤析砸,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布昔字,位于F島的核電站,受9級特大地震影響首繁,放射性物質(zhì)發(fā)生泄漏作郭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一弦疮、第九天 我趴在偏房一處隱蔽的房頂上張望夹攒。 院中可真熱鬧,春花似錦胁塞、人聲如沸咏尝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽编检。三九已至,卻和暖如春扰才,著一層夾襖步出監(jiān)牢的瞬間允懂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工衩匣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留累驮,地道東北人酣倾。 一個(gè)月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像谤专,于是被迫代替她去往敵國和親躁锡。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容