一起來了解python的運(yùn)算符
1、算數(shù)運(yùn)算符
小例中:
a = 5
b = 3
算數(shù)運(yùn)算符 | 描述 | 小例 |
---|---|---|
+ | 加 | a + b = 8 |
- | 減 | a - b = 2 |
* | 乘 | a * b = 15 |
/ | 除 | a / b = 1.6666666666666667 |
// | 整除 | a // b = 1 |
% | 取余 | a % b = 2 |
** | 冪 | a ** b = 125 |
注:
(1)、整數(shù)經(jīng)過除法運(yùn)算后變成浮點(diǎn)數(shù)(小數(shù)); (2)、整除結(jié)果只取整數(shù)部分,小數(shù)點(diǎn)以及后面的數(shù)字刪除;
取余的四種情況:
1、正常情況 5 % 3 = 2 2、被除數(shù)為負(fù)數(shù) -5 % 3 = 1 計(jì)算過程: (-2) + 3 = 1 在正常情況下的余數(shù)前減負(fù)號(hào),然后與除數(shù)相加得最終結(jié)果 3、除數(shù)為負(fù)數(shù) 5 % -3 = -1 計(jì)算過程: 2 + (-3)= -1 在正常情況下的余數(shù),然后與除數(shù)相加得最終結(jié)果 4、被除數(shù)和除數(shù)都為負(fù)數(shù) -5 % -3 = -2 計(jì)算過程: 在正常情況的余數(shù)前面加負(fù)號(hào),也就是正常情況的余數(shù)的相反數(shù)
2、比較運(yùn)算符
比較運(yùn)算符運(yùn)算的結(jié)果為布爾值,當(dāng)結(jié)果正確時(shí)為True(真),當(dāng)結(jié)果錯(cuò)誤時(shí)為False(假)。
小例中:
a = 1
b = 2
比較運(yùn)算符 | 描述 | 小例 |
---|---|---|
> | 大于 | a > b -->False |
< | 小于 | a < b -->True |
>= | 大于等于 | a >= b -->False |
<= | 小于等于 | a <= b --> True |
== | 等于 | a == b --> False |
!= | 不等于 | a != b --> True |
注:
>=、<= 只要滿足一個(gè)條件結(jié)果就為真
3、賦值運(yùn)算符
小例中:
a = 2
b = 3
賦值運(yùn)算符 | 描述 | 小例 |
---|---|---|
= | 簡(jiǎn)單的賦值運(yùn)算符 | a = b,將b的值賦值給a, 結(jié)果a=3 |
+= | 加法賦值運(yùn)算符 | a += b,等于a = a + b, 結(jié)果a=5 |
-= | 減法賦值運(yùn)算符 | a -= b,等于a = a - b, 結(jié)果a=-1 |
*= | 乘法賦值運(yùn)算符 | a *= b,等于a = a * b, 結(jié)果a=6 |
/= | 除法賦值運(yùn)算符 | a /= b,等于a = a / b, 結(jié)果a=0.6666666666666666 |
//= | 整除賦值運(yùn)算符 | a //= b,等于a = a // b, 結(jié)果a=0 |
**= | 冪賦值運(yùn)算符 | a **= b,等于a = a ** b, 結(jié)果a=6 |
4、成員運(yùn)算符
成員運(yùn)算符 | 描述 |
---|---|
in | x in y,判斷x是不是在y中,如果在則返回True,否則返回False |
not in | x not in y,判斷x是不是在y中,如果不在則返回True,否則返回False |
使用場(chǎng)景
1、字符串 2、列表 3、元組 4、集合 5、字典 6、---
實(shí)例
# 字符串 s = '這里是字符串的成員運(yùn)算符的實(shí)例' res1 = '字符串' in s print(res1) # True res2 = '字符串' not in s print(res2) # False # 列表 ls = [1 ,2,3] ls1 = 1 in ls print(ls1) # True ls2 = 1 not in ls print(ls2) # False # 元組 tp = ('1','2','3') tp1 = '1' in tp print(tp1) # True tp2 = '1' not in tp print(tp2) # False # 集合 st = {1,2,3} st1 = 1 in st print(st1) # True st2 = 1 not in st print(st2) # False # 字典 dic = {'k1':'v1','k2':'v2','k3':'v3'} dic1 = 'k1' in dic print(dic1) # True dic2 = 'k1' not in dic print(dic2) # False # 成員運(yùn)算符 判斷字典時(shí) 判斷的是鍵 不是那個(gè)所對(duì)應(yīng)的值 dic3 = 'v1' in dic print(dic3) # False
5、身份運(yùn)算符
身份運(yùn)算符 | 描述 |
---|---|
is | x is y,檢測(cè)x和y在內(nèi)存中是不是同一個(gè)地址,如果是則返回Ture,否則返回False |
not is | x not is y,檢測(cè)x和y在內(nèi)存中是不是同一個(gè)地址,如果不是則返回Ture,否則返回False |
實(shí)例
# 這些實(shí)例都已pycharm運(yùn)行,python自帶解釋器有所區(qū)別 # 整數(shù)、浮點(diǎn)數(shù)、布爾值相同地址相等 int1 = 5 int2 = 5 print(int1 is int2) # True float1 = 1.0 float2 = 1.0 print(float1 is float2) # True bool1 = True bool2 = True print(bool1 is bool2) # True # 字符串相同地址相等 s1 = '123' s2 = '123' print(s1 is s2) # True # 元組相同地址相等 tp1 = () tp2 = () print(tp1 is tp2) # True # 列表、集合、字典,無(wú)論什么情況地址都不相同 ls1 = [] ls2 = [] print(ls1 is ls2) # False
6、邏輯運(yùn)算符
邏輯運(yùn)算符 | 描述 | 小例 |
---|---|---|
and | 邏輯與 :全真為真,一假為假 | 2>3 and 3<2 ---->True |
or | 邏輯或:全假為假,一真為真 | 1>2 or 2<1 ---->False |
not | 邏輯非:與原值相反 | not 2>1 ---->False |
實(shí)例
a = 1 b = 2 c = False ser1 = a<b and b>a print(ser1) # True ser2 = a>b or b<a print(ser2) # False ser3 = not c print(ser3) # True
邏輯短路
適用一個(gè)and或者一個(gè)or: 1、一個(gè)and時(shí):x and y,如果x為假,則and后面的y不進(jìn)行運(yùn)算,結(jié)果直接為False。 2、一個(gè)or時(shí):x or y,如果x為真,則or后面的y不進(jìn)行運(yùn)算,結(jié)果直接為True。
邏輯優(yōu)先級(jí)
邏輯優(yōu)先級(jí):() > not > and > or
res1 = True and (False or True) # --> True and True print(res1) # True res2 = False or not True # -->False or False print(res2) # False res3 = False and True or False and True or False # -->False or False or False print(res3) # False
7、位運(yùn)算符
位運(yùn)算是先將數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制值數(shù)據(jù),然后再進(jìn)行一系列的運(yùn)算。
位運(yùn)算符 | 描述 |
---|---|
& | 按位與 |
| | 按位或 |
~ | 按位非 |
^ | 按位異或 |
>> | 右移 |
<< | 左移 |
按位與
進(jìn)行按位與運(yùn)算的兩個(gè)值,相同位置的二進(jìn)制位值都為1,則結(jié)果為1,否則為0。 8 = 1000 9 = 1001 8&9 = 1000 --->8
按位或
進(jìn)行按位或運(yùn)算的兩個(gè)值,相同位置的二進(jìn)制位值只要有一個(gè)為1,則結(jié)果為1。 9 = 1001 10 = 1010 8|9= 1011 -->11
按位非
進(jìn)行按位非運(yùn)算,結(jié)果為:原值加一的絕對(duì)值即| n+1| a = 6 b = -6 ~a = |6+1| = 7 ~b = |-6+1| = 5
按位異或
進(jìn)行按位異或運(yùn)算的兩個(gè)值,相同位置的二進(jìn)制位值相同,則結(jié)果為0,否則為1。 9 = 1001 10 = 1010 9^10 = 0011 -->3
右移
進(jìn)行右移運(yùn)算的值,右移幾位,則有效二進(jìn)制位右移幾位。等效于n>>m等于n整除2的m次冪。 9 = 1001 9>>1= 0100 -->4 10 = 1010 10>>2= 0010 -->2
左移
進(jìn)行左移運(yùn)算的值,左移幾位,則有效二進(jìn)制位左移幾位。等效于n<<m 等于n乘以2的m次冪。 9 = 1001 9<<1 = 10010 -->18 10 = 1010 10<<2= 101000 -->40
8.運(yùn)算符的優(yōu)先級(jí)
1、乘、除 > 加、減 2、()> not > and > or 3、按位非(~) > 右移(>>)、左移 (<<)> 按位與(&) > 按位異或(^) > 按位或(|) 1、乘、除 > 加、減 2、()> not > and > or 3、按位非(~) > 右移(>>)、左移 (<<)> 按位與(&) > 按位異或(^) > 按位或(|)
一元運(yùn)算符: 同一時(shí)間只操作一個(gè)數(shù)字運(yùn)算的 ,例: ~1,-12 二元運(yùn)算符: 同一時(shí)間只操作兩個(gè)數(shù)字運(yùn)算的 ,例:5 + 3 1、一元運(yùn)算符優(yōu)先級(jí) > 二元運(yùn)算符 2、所有運(yùn)算符當(dāng)中 ** 冪運(yùn)算優(yōu)先級(jí)最高 3、所有運(yùn)算符當(dāng)中 = 賦值運(yùn)算符優(yōu)先級(jí)最低
算數(shù)運(yùn)算符 > 位運(yùn)算符 > 比較運(yùn)算符 > 身份運(yùn)算符 > 成員運(yùn)算符 > 邏輯運(yùn)算符>賦值運(yùn)算符
總結(jié)
(1)算數(shù)運(yùn)算符: + - * / // % ** (2)比較運(yùn)算符: > < >= <= == != (3)賦值運(yùn)算符: = += -= *= /= //= %= **= (4)成員運(yùn)算符: in 和 not in (針對(duì)于容器型數(shù)據(jù)) (5)身份運(yùn)算符: is 和 is not (檢測(cè)兩個(gè)數(shù)據(jù)在內(nèi)存當(dāng)中是否是同一個(gè)值) (6)邏輯運(yùn)算符: and or not (7)位運(yùn)算符: & | ~ ^ << >>
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python使用multiprocessing模塊實(shí)現(xiàn)帶回調(diào)函數(shù)的異步調(diào)用方法
這篇文章主要介紹了python使用multiprocessing模塊實(shí)現(xiàn)帶回調(diào)函數(shù)的異步調(diào)用方法,實(shí)例分析了multiprocessing模塊異步調(diào)用的相關(guān)使用技巧,需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)爬蟲從網(wǎng)絡(luò)上下載文檔的實(shí)例代碼
小編最近在研究python,接觸到了爬蟲,本文給大家?guī)砹薖ython實(shí)現(xiàn)爬蟲從網(wǎng)絡(luò)上下載文檔的知識(shí)。下面小編把具體實(shí)例代碼分享到腳本之家平臺(tái),感興趣的朋友參考下吧2018-06-06Python操作Redis數(shù)據(jù)庫(kù)的超詳細(xì)教程
大家應(yīng)該都知道redis是一個(gè)基于內(nèi)存的高效的鍵值型非關(guān)系數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python操作Redis的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06Python實(shí)現(xiàn)設(shè)置顯示屏分辨率
這篇文章主要為大家詳細(xì)介紹了Python如何調(diào)用win32庫(kù)實(shí)現(xiàn)分辨率獲取和讀寫,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考下2023-01-01Python浮點(diǎn)數(shù)取整、格式化和NaN處理的操作方法
這篇文章主要介紹了Python浮點(diǎn)數(shù)取整、格式化和NaN處理的操作方法,本文較詳細(xì)介紹了取整的三種方法,格式化浮點(diǎn)數(shù)輸出的示例代碼詳解,感興趣的朋友跟隨小編一起看看吧2022-05-05pandas學(xué)習(xí)之df.fillna的具體使用
本文主要介紹了pandas學(xué)習(xí)之df.fillna的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08