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