日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python运算符讲解_3.Python运算符详解

發(fā)布時間:2025/3/15 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python运算符讲解_3.Python运算符详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.算數(shù)運算符

符號:+?? -?? *?? /?? %(取余、取模)?? //(取整)?? **(開方)

2.比較運算符

符號:>?? >=??

特點:比較運算的結(jié)果一定是布爾值(True/False)

print(7 >= 3)?? #True

print(7 < 3)??? #False

3.賦值&混合賦值運算符

賦值運算符符號:=

混合賦值運算符符號:+=?? -=?? *=?? /=?? %=

a += 4????? #相當(dāng)于:a = a + 4

a += b????? #相當(dāng)于:a = a + b

4.邏輯運算符

需求:a = 6??? 3

拆分:a > 3??? a < 9?? 兩個表達式之間需要使用邏輯運算符來進行關(guān)聯(lián)

符號:and(邏輯與,并且,去交集)、or(邏輯或,或者,取并集)、not(邏輯非,取反)

特點:運算符兩側(cè)的數(shù)據(jù)類型一定是布爾型,結(jié)果也是布爾型

模板:

對于and操作而言:

True and True?????????? 結(jié)果:True

True and False????????? 結(jié)果:False

False and True????????? 結(jié)果:False

False and False???????? 結(jié)果:False

總結(jié):and操作,滿足一假即假的特點,理解為:對False敏感

對于or操作而言:

True or True?????????? 結(jié)果:True

True or False????????? 結(jié)果:True

False or True????????? 結(jié)果:True

False or False???????? 結(jié)果:False

總結(jié):or操作,滿足一真即真的特點,理解為:對True敏感

對于not操作而言:

not True??????? 結(jié)果為:False

not False?????? 結(jié)果為:True

5.位運算符

長處:是運算效率最高的運算符,直接是底層二進制的運算

符號:&(按位與)、|(按位或)、^(按位異或)(相異就為一)、<>(右移)

模板:

對于按位與操作而言:(全1才為1)

9 & 5,結(jié)果為多少???? 1

9:0000 1001

5:0000 0101

結(jié)果:0000 0001

對于按位或操作而言:(有1就為1)

9 | 5,結(jié)果為多少???? 13

9:0000 1001

5:0000 0101

結(jié)果:0000 1101

對于按位異或操作而言:(相異就為1)

9 ^ 5,結(jié)果為多少???? 12

9:0000 1001

5:0000 0101

結(jié)果:0000 1100

對于<

9 << 2,結(jié)果為多少??? 36

9:0000 1001

結(jié)果:00 100100

對于>>(右移)操作而言:

9 >> 2,結(jié)果為多少??? 2

9:0000 1001

結(jié)果:0000 0010

6.成員運算符

作用:運用對于容器對象的判斷,結(jié)果都是布爾值;判斷某個元素是否存在于容器中

符號:in? /? not in

1 str1 = "abcdefg1234567"

2 print("c" in str1) #True

3

4 dic1 = {"name":"Tom","age":30}5 print("name" in dic1) #True

6 print("Tom" in dic1) #False

【注意】對于dict對象,只能判斷鍵是否存在,對于值是無效的(永遠返回False)

補充: 何為表達式?

大白話:凡是計算可以得出個值的就是表達式

何為條件表達式?

大白話:在表達式的基礎(chǔ)上,最終結(jié)果一定是布爾值

7.三元/三目運算符

格式:【表達式1 if 條件表達式 else 表達式2】。執(zhí)行流程:會先執(zhí)行條件表達式,如果執(zhí)行結(jié)果為True,那么就會執(zhí)行表達式1,并且將表達式1的結(jié)果作為整個三元運算的最終結(jié)果;如果執(zhí)行結(jié)果為False,那么就會執(zhí)行表達式2,并且將表達式2的結(jié)果作為整個三元運算的最終結(jié)果

例如:比較兩個數(shù)的大小,得到較大值

1 print(a if a > b else b)

三元運算符就是python語法糖之一。【補充一個python語法糖:列表生成式】

作用:執(zhí)行完畢之后會返回給程序一個列表對象,在不破壞原本復(fù)雜需求的同時;更加便捷的得到一個列表對象(代碼更加簡短)。格式: 【expr for ver1,[ver2],... in 序列對象(range、str、list、tuple、dict...) if ...】

1 #案例1:得到[1,2,3,...,10]列表對象

2 print([x for x in range(1,11)])3

4 #案例2:得到 1*1,2*2,3*3,...,10*10的一個列表對象

5 print([x ** 2 for x in range(1,11)])6

7 #案例3:得到 1*1,2*2,3*3,...,10*10的一個列表對象,元素只接受偶數(shù)的乘積值

8 print([x ** 2 for x in range(1,11) if x % 2 ==0])9

10 #案例4:實現(xiàn)全排列,str1 = 'ABC',str2 = 'XYZ',得到效果如下:['AX','AY','AZ','BX','BY',...,'CZ']

11 print([x + y for x in str1 for y instr2])12

13 #案例5:字典對象:{'aa':'AA','bb':'BB','cc':'CC'},得到字典對象的鍵和值,然后組合成為如下數(shù)據(jù)存入到列表中返回:得到['aa=AA','bb=BB','cc=CC']

14 print([k + '=' + v for k,v indic1.items()])15

16 #案例6:將列表lt = ['PYTHON','Java','PHP','IOS'] 中的每個字符串元素都轉(zhuǎn)換為全小寫返回,得到:['python','java','php','ios']

17 print([x.lower() for x inlt])18

19 #需求7:將列表lt = ['PYTHON','Java','PHP','IOS',200]中的每個字符串元素都轉(zhuǎn)換為全小寫返回,得到:['python','java','php','ios']

20 #print([x.lower() for x in lt]) # AttributeError類型錯誤

21 print([x.lower() for x in lt if isinstance(x,str)])

【注意事項】上面代碼的需求7中,lower()函數(shù)是屬于字符串類型獨有的函數(shù),而lt中200是int類型的數(shù)據(jù),一旦嘗試調(diào)用lower()就會報錯(非法的,不允許的);這里可以使用內(nèi)置函數(shù):isinstance(obj,type)解決。isinstance(obj,type)函數(shù)的作用:判斷obj對象是否屬于type類型,如果類型匹配,則返回True,反之,返回False。

總結(jié)

以上是生活随笔為你收集整理的python运算符讲解_3.Python运算符详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。