python中常見(jiàn)的運(yùn)算符及用法實(shí)例
前言??
??python中的運(yùn)算符主要包括算術(shù)運(yùn)算符,關(guān)系(比較)運(yùn)算符,賦值運(yùn)算符,邏輯運(yùn)算符,成員運(yùn)算符,身份運(yùn)算符,三目運(yùn)算符。使用運(yùn)算符將不同類型的數(shù)據(jù)按照一定的規(guī)則連接起來(lái)的式子,稱為表達(dá)式。下面將介紹一些常用的運(yùn)算符??
算術(shù)運(yùn)算符
| 運(yùn)算符 | 描述 |
|---|---|
| + | 兩個(gè)數(shù)相加兩個(gè)數(shù)相加,或是字符串連接 |
| - | 兩個(gè)數(shù)相減 |
| * | 兩個(gè)數(shù)相乘,或是返回一個(gè)重復(fù)若干次的字符串 |
| / | 兩個(gè)數(shù)相除,結(jié)果為浮點(diǎn)數(shù) |
| % | 取模,返回兩個(gè)數(shù)相除的余數(shù) |
| // | 兩個(gè)數(shù)相除,返回商的整數(shù)部分 |
| ** | 冪運(yùn)算,返回乘方結(jié)果 |
print(1 + 2) # 3 print(2 - 1) # 1 print(2 * 3) # 6 print(3 / 2) # 1.5 print(6 % 5) # 1 print(8 // 2) # 4 print(3 ** 2) # 9
如果想同時(shí)得到商和余數(shù),可以用divmod這個(gè)方法
該方法的返回值是tuple (x//y, x%y).
print(divmod(10,3)) # (3,1)
因?yàn)楦↑c(diǎn)數(shù)精度的問(wèn)題,Python還存在一些計(jì)算方面的小問(wèn)題
print(0.1+0.1+0.1-0.3) # 5.551115123125783e-17
要解決這個(gè)問(wèn)題,可以導(dǎo)入decimal模塊
from decimal import Decimal
# 計(jì)算結(jié)果:0.0
print(Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3'))
關(guān)系運(yùn)算符
| 運(yùn)算符 | 描述 |
|---|---|
| == | 比較對(duì)象是否相等 |
| != | 比較對(duì)象是否不相等 |
| > | 大于,例如a>b,將比較a與b的大小,a>b返回True,否則返回False |
| < | 小于,例如a<b,將比較a與b的大小,a<b返回True,否則返回False |
| >= | 大于等于,例如a>=b,將比較a與b的大小,a>=b返回True,否則返回False |
| <= | 小于等于,例如a<=b,將比較a與b的大小,a<=b返回True,否則返回False |
a = 10 b = 20 print(a == b) # False print(a != b) # True print(a > b) # False print(a < b) # True print(a >= b) # False print(a <= b) # True
1.返回值為bool值
print(True == 1) # True print(False == 0) # True
==比較數(shù)值(int與str不能直接比較)
print(2.0 == 2) # True
print('2' == 2) # False
字符串與字符串之間是比較ASCII值
# True
print('abc' < 'xyz') # 97 98 99 < 120 121 122
連續(xù)比較,python的解釋機(jī)制
print(3 > 2 > 1) # True print(3 > 2 > 2) # False print((3 > 2) > 1) # False
| 運(yùn)算符 | 描述 |
|---|---|
| = | 常規(guī)賦值運(yùn)算符,將運(yùn)算結(jié)果賦值給變量 |
| += | 加法賦值運(yùn)算符,例如 a+=b 等效于 a=a+b |
| -= | 減法賦值運(yùn)算符,例如 a-=b 等效于 a=a-b |
| *= | 乘法法賦值運(yùn)算符,例如 a*=b 等效于 a=a*b |
| /= | 除法賦值運(yùn)算符,例如 a/=b 等效于 a=a/b |
| //= | 取整除賦值運(yùn)算符,例如 a//=b 等效于 a=a//b |
| %= | 取模賦值運(yùn)算符,例如 a%=b 等效于 a=a%b |
| **= | 冪運(yùn)算賦值運(yùn)算符,例如 a**=b 等效于 a=a*b |
a = 1 # 將等號(hào)右邊 賦值 等號(hào)左邊 a = a + 1 # 先等號(hào)右邊計(jì)算 再賦值給 等號(hào)左邊 a += 1 # a = a + 1
邏輯運(yùn)算符
| 運(yùn)算符 | 描述 |
|---|---|
| and | 與運(yùn)算,如果a 為False,a and b返回False 否則返回y的計(jì)算值 |
| or | 或運(yùn)算,如果a非0,返回a的值,否則返回b的值 |
| not | 非運(yùn)算,如果a為True,返回False,如果a為False,返回True |
a = 10 b = 20 print(a and b) # 20 print(a or b) # 10 print(not a) # False
a and b 兩者都為True時(shí)結(jié)果才為True
a or b 兩者有一個(gè)為True則結(jié)果就為True
短路(懶惰)原則
False and True 當(dāng)and運(yùn)算符時(shí),遇到第一個(gè)為False則不會(huì)往后了
True or False 當(dāng)or運(yùn)算符時(shí),遇到第一個(gè)為True則不會(huì)往后了
成員運(yùn)算符
| 運(yùn)算符 | 描述 |
|---|---|
| in | 如果在指定的序列中找到值返回True,否則返回False |
| not in | 如果在指定的序列中找到值返回True,否則返回False |
list1 = [1, 2, 3, 4, 5]
a = 1
if a in list1:
print("a是list1的元素之一")
else:
print("a不是list1的元素")
身份運(yùn)算符
| 運(yùn)算符 | 描述 |
|---|---|
| is | 判斷兩個(gè)標(biāo)識(shí)符是不是引用自一個(gè)對(duì)象 |
| is not判斷兩個(gè)標(biāo)識(shí)符是不是引用自不同對(duì)象 |
is 和比較運(yùn)算符 == 的區(qū)別
is 用于判斷兩個(gè)變量是否引自同一個(gè)對(duì)象(可使用id()查看),而 ==用于判斷變量的值是否相等!
a = [1, 2, 3] b = [1, 2, 3] # 可通過(guò)id()查看內(nèi)存地址 print(id(a)) # 2042443551304 print(id(b)) # 2042443551816 print(a is b) # False print(a == b) # True
a = 2 b = 2.0 # 可通過(guò)id()查看內(nèi)存地址 print(id(a)) # 140722443350320 print(id(b)) # 2336678499216 print(a is b) # False print(a == b) # True
三目運(yùn)算符
三目運(yùn)算符的表示方法:True_statements if expression else False_statements
a = 1 b = 2 # a+b不大于3執(zhí)行后面的else語(yǔ)句 b-a = 1 print(a+b if a+b>3 else b-a)
運(yùn)算符優(yōu)先級(jí)
| 運(yùn)算符 | 描述 |
|---|---|
| ** | 指數(shù)(最高優(yōu)先級(jí)) |
| */%// | 乘,除,取模和取整除 |
| ± | 加法減法 |
| <= >= | 比較運(yùn)算符 |
| == != | 等于運(yùn)算符 |
| = %= 、= 、、=-= += *= **= | 賦值運(yùn)算符 |
| is is not | 身份運(yùn)算符 |
| in not in | 成員運(yùn)算符 |
| not or and | 邏輯運(yùn)算符 |
總結(jié)
到此這篇關(guān)于python中常見(jiàn)的運(yùn)算符及用法的文章就介紹到這了,更多相關(guān)python運(yùn)算符及用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)基本Socket服務(wù)端與客戶端通信的完整代碼
這篇文章主要介紹了Python實(shí)現(xiàn)基本Socket服務(wù)端與客戶端通信,分步詳解與完整代碼都有,按需所求即可,對(duì)Python Socket服務(wù)端與客戶端通信相關(guān)知識(shí)感興趣的朋友一起看看吧2023-06-06
Python爬蟲(chóng)之Selenium中frame/iframe表單嵌套頁(yè)面
這篇文章主要介紹了Python爬蟲(chóng)之Selenium中frame/iframe表單嵌套頁(yè)面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python數(shù)組遍歷的簡(jiǎn)單實(shí)現(xiàn)方法小結(jié)
這篇文章主要介紹了Python數(shù)組遍歷的簡(jiǎn)單實(shí)現(xiàn)方法,結(jié)合實(shí)例總結(jié)分析了Python針對(duì)數(shù)組的元素,索引常用遍歷技巧,需要的朋友可以參考下2016-04-04
如何利用python實(shí)現(xiàn)kmeans聚類
K-Means是聚類算法的一種,以距離來(lái)判斷數(shù)據(jù)點(diǎn)間的相似度并對(duì)數(shù)據(jù)進(jìn)行聚類,下面這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)kmeans聚類的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
python簡(jiǎn)單直接獲取windows明文密碼操作技巧
在實(shí)戰(zhàn)中,拿到一臺(tái)Windows服務(wù)器權(quán)限,如果可以直接獲取Windows明文密碼的話,就可以更容易深入挖掘。本文分享幾個(gè)獲取Windows明文密碼的技巧,簡(jiǎn)單直接且有效2021-10-10
Python多元非線性回歸及繪圖的實(shí)現(xiàn)
本文主要介紹了Python多元非線性回歸及繪圖的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-04-04

