運算子用於執行程式**運算,會針對乙個以上運算元專案來進行運算。例如:2+3,其運算元是2和3,而運算子則是「+」
x =1+
2x =
'hello'
+' '
+'world'
x =5-
2# x = 'python' - 'y' # typeerror: unsupported operand type(s) for -: 'str' and 'str'
x =5
-true
x =5*
2x =
'a'*
2# 'aa'
# x = 'a'*'b' # typeerror: can't multiply sequence by non-int of type 'str'
x =6/
2# 除法運算總會返回乙個浮點型別
# x = 6/0 # zerodivisionerror: division by zero
x =7//
3# 2
x =6%
4# 2
x =2**
3x =
25**
0.5# 一種開平方的方式
print
(x)
result =
10>
20# false
result =
30>
20# true
result =
30<
20# false
result =
10<
20# true
result =
10<=
10# true
result =
'2 '
>
'1'# true 按照ascii碼的值的大小
如果出現多個字元那麼我們比較方式是對位比較,如果第一位比較出結果則直接返回結果,如果沒有則比較第二位。
result =
'2'>
'11'
# true
result =
'a'>
'b'# f
result =
'c'<
'd'# t
result =
'ab'
>
'b'# f
result =
'1'<
'1 '
# tresult =
'1'<
'11'
# t
== ⽐較兩個物件的值是否相等,比較的是物件的value
!= ⽐較兩個物件的值是否不相等
result =
'abc'
=='bcd'
# fresult =
'abc'
!='bcd'
# tresult =0==
false
# t
is ⽐較兩個物件是否是同⼀個物件,⽐較的是物件的id
is not ⽐較兩個物件是否不是同⼀個物件,⽐較的是物件的id
result =0is
false
#fresult =0is
notfalse
#tprint
('result = '
,result)
not可以對符號右側的值進⾏⾮運算。對於布林值,⾮運算會對其進⾏取反操作,true變false,false變true。
0 空串 none 還有一些比如表示空性的值會轉換為false 剩下的全是true
a =
1a =
not a
print
(a)# false
a ='hello'
a =not a
print
(a)# false
a =[
]a =
not a
print
(a)# true
r =none
r =not r
print
(r)# true
and可以對符號兩側的值進⾏與運算。 只有在符號兩側的值都為true時,才會返回true,只要有⼀個false就返回false。
與運算是找false的,如果第⼀個值為false,則不再看第⼆個值
result =
true
andtrue
# tresult =
true
andfalse
# fresult =
false
andtrue
# fresult =
false
andfalse
# ftrue
andprint
('hello'
)# hello
false
andprint
('hello'
)# 沒結果
或運算兩個值中只要有⼀個true,就會返回true
result =
true
andtrue
# tresult =
true
andfalse
# tresult =
false
andtrue
# tresult =
false
andfalse
# fprint
('result:'
, result)
當我們對⾮布林值進⾏與或運算時,python會將其當做布林值運算,最終會返回原值。
result =
1and
2# true and true 2
result =
1and
0# 0
result =
0and
2# 0
result =
none
and0
# none
result =1or
2#1result =0or
1#1print
('result:'
,result)
條件運算子在執⾏時,會先對條件表示式進⾏求值判斷
如果判斷結果為true,則執⾏語句1,並返回執⾏結果
如果判斷結果為false,則執⾏語句2,並返回執⾏結果
語法: 語句1 if 條件表示式 else 語句2
# 獲取ab間的最大值
a =10
b =20
print
('a的值比較大'
)if a > b else
print
('b的值比較大'
)# 獲取abc間的最大值
a=10
b=20
c=30
m = a if a > b else b
r = m if m > c else c
print
(r)# 或者
m = a if
(a > b and a > c)
else
(b if b > c else c)
print
(m)
參考官網運算子優先順序** python 運算子 Python運算子
python語言支援以下型別的運算子 算術運算子 比較 關係 運算子 賦值運算子 邏輯運算子 位運算子 成員運算子 身份運算子 運算子優先順序 1 算術運算子 加號 減號 乘 除 取餘 乘方 整除 1 其中除號 要注意 在python2中,用作整除。解決方法有三 1 兩個相除的數中有乙個為實數。2 ...
python 運算子 python(運算子)
一 運算子 1.算數運算子 1 加 注意 字串與整數之間不能進行相加,需要通過str 或int 進行轉換資料型別 整數與整數相加 1 1 浮點數與浮點數相加 2.0 2.0 4.0 二進位制儲存精度誤差 1.1 1.3 2.4000000000000004 整數與浮點數相加 2 2.0 4.0字串之...
python增強運算子 Python 運算子過載
python語言提供了運算子過載功能,增強了語言的靈活性,這一點與c 有點類似又有些不同。鑑於它的特殊性,今天就來討論一下python運算子過載。python語言本身提供了很多魔法方法,它的運算子過載就是通過重寫這些python內建魔法方法實現的。這些魔法方法都是以雙下劃線開頭和結尾的,類似於x的形...