首頁 > 軟體

python常見運運算元及用法小結

2022-08-02 14:04:30

算術運運算元

運運算元描述
+兩個數相加兩個數相加,或是字串連線
-兩個數相減
*兩個數相乘,或是返回一個重複若干次的字串
/兩個數相除,結果為浮點數
%取模,返回兩個數相除的餘數
//兩個數相除,返回商的整數部分
**冪運算,返回乘方結果
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

如果想同時得到商和餘數,可以用divmod這個方法
該方法的返回值是tuple (x//y, x%y).

print(divmod(10,3)) # (3,1)

因為浮點數精度的問題,Python還存在一些計算方面的小問題

print(0.1+0.1+0.1-0.3)  # 5.551115123125783e-17

要解決這個問題,可以匯入decimal模組

from decimal import Decimal
# 計算結果:0.0
print(Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3'))

關係運算子

運運算元描述
==比較物件是否相等
!=比較物件是否不相等
>大於,例如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

==比較數值(int與str不能直接比較)

print(2.0 == 2)  # True
print('2' == 2)  # False

字串與字串之間是比較ASCII值

# True
print('abc' < 'xyz') # 97 98 99 < 120 121 122

連續比較,python的解釋機制

print(3 > 2 > 1)  # True
print(3 > 2 > 2)  # False
print((3 > 2) > 1) # False

賦值運運算元

運運算元描述
=常規賦值運運算元,將運算結果賦值給變數
+=加法賦值運運算元,例如 a+=b 等效於 a=a+b
-=減法賦值運運算元,例如 a-=b 等效於 a=a-b
*=乘法法賦值運運算元,例如 a*=b 等效於 a=a*b
/=除法賦值運運算元,例如 a/=b 等效於 a=a/b
//=取整除賦值運運算元,例如 a//=b 等效於 a=a//b
%=取模賦值運運算元,例如 a%=b 等效於 a=a%b
**=冪運算賦值運運算元,例如 a**=b 等效於 a=a*b
a = 1   	# 將等號右邊 賦值 等號左邊
a = a + 1   # 先等號右邊計算 再賦值給 等號左邊
a += 1		# a = a + 1

邏輯運運算元

運運算元描述
and與運算,如果a 為False,a and b返回False 否則返回y的計算值
or或運算,如果a非0,返回a的值,否則返回b的值
not非運算,如果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時結果才為True
a or b 兩者有一個為True則結果就為True

短路(懶惰)原則
False and True 當and運運算元時,遇到第一個為False則不會往後了
True or False 當or運運算元時,遇到第一個為True則不會往後了

成員運運算元

運運算元描述
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的元素")

身份運運算元

運運算元描述
is判斷兩個識別符號是不是參照自一個物件
is not判斷兩個識別符號是不是參照自不同物件 
is 和比較運運算元 == 的區別 
is 用於判斷兩個變數是否引自同一個物件(可使用id()檢視),而 ==用於判斷變數的值是否相等!
a = [1, 2, 3]
b = [1, 2, 3]
# 可通過id()檢視記憶體地址
print(id(a))  # 2042443551304
print(id(b))  # 2042443551816
print(a is b)  # False
print(a == b)  # True
a = 2
b = 2.0
# 可通過id()檢視記憶體地址
print(id(a))  # 140722443350320
print(id(b))  # 2336678499216
print(a is b)  # False
print(a == b)  # True

三目運運算元

三目運運算元的表示方法:True_statements if expression else False_statements

a = 1
b = 2
# a+b不大於3執行後面的else語句 b-a = 1
print(a+b if a+b>3 else b-a)

運運算元優先順序

運運算元描述
**指數(最高優先順序)
*/%//乘,除,取模和取整除
±加法減法
<= >=比較運運算元
== !=等於運運算元
= %= 、= 、、=-= += *= **=賦值運運算元
is is not身份運運算元
in not in成員運運算元
not or and邏輯運運算元

到此這篇關於python常見的運運算元及用法的文章就介紹到這了,更多相關python運運算元內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com