本文目錄一覽:
Python中的算術運算符有哪些呢?
1. 比較運算符:
如果比較式成立,返回True;不成立,則返回False。
常見的比較運算符如下:
除了簡單的兩值相比之外,比較運算符還支持比較複雜的比較。
(1)多條件比較:
可以先給變量a賦值,然後做多條件比較。
1 a = 3
2 print(1 a 5)
(2)變量的比較:
給變量a和變量b分別賦值,進行比較。
1 a = 3
2 b = 3
3 print(a != b)
4
5 s1 = ‘duwangdan’
6 s2 = ‘DuWangDan’
7 print(s1 == s2)
(3)函數結果的比較:
1 print(abs(-1) len(‘duwagndan’))
2 # abs():返回輸入參數的絕對值
在比較運算中有一些需要留意的小問題:
不同類型的對象不能用“、=、、=”進行比較,但可以用“==、!=”做比較。
1 print(21 == len(‘duwangdan’))
在文章開頭說過,True對應的是1,False對應的是0。看下面這個例子,False+True其實相當於0+1:
1 print(False + True False + False)
2. 成員運算符:
成員運算符的關鍵詞是“in”,判斷一個元素是否在某一個列表中。運行如下程序後,可得到反饋結果。
1 a = 1
2 b = ‘beautiful’
3 album = [1,’beautifully’,False,7]
4 # 創建列表,命名該列表為album
5 print(a in album)
6 print(b in album
當album=[]時,表示該列表為空。
如果想在album中新增內容,可以用append方法來實現。新增後,會在列表末尾顯示新增的內容。
1 album = [1,’beautifully’,False,7]
2 album.append(‘Wow’)
3 # 用append()方法在album中新增內容
4 print(album)
3. 身份運算符:
身份運算符是用來比較兩個對象是否是同一個對象,而之前比較運算符中的“==” 則是用來比較兩個對象的值是否相等。
身份運算符主要用“is、is not”來判斷。
1 a = ‘duwangdan’
2 b = ‘duwangdan’
3 print(a is b)
4 print(a is not b)
4. 布爾運算符:
在Python中有3種布爾運算符:and、or、not。
如下例子,返回結果分別為:False、True、True。
1 print(1 2 and 1 0)
2 print(1 2 or 1 0)
3 print(not False)
Python魔法函數(特殊函數)
Python中如何實現運算符的重載,即實現例如a+b這樣的運算符操作呢?
在C++中可以使用 operator 關鍵字實現運算符的重載。但是在Python中沒有類似這樣的關鍵字,所以要實現運算符的重載,就要用到Python的魔法函數。Python魔法函數是以雙下劃線開頭,雙下劃線結尾的一組函數。我們在類定義中最常用到的 __init__ 函數就是這樣一個魔法函數,它在創建類對象時被自動調用。
下面我們來看個簡單的例子。
上述代碼示例了幾個魔法函數的用法。 __add__ 函數對應了二元運算符+,當執行a+b語句時,python就會自動調用a. add (b)。 對於上述例子中的v1+v2+v3,則相當於調用了(v1. add(v2)). add(v3)。
代碼中還有一個在Python類定義經常使用的 __str__ 函數,當使用 str() 時會被調用。print函數對傳入的參數都調用了str()將其轉換成易讀的字符串形式,便於打印輸出,因而會調用類定義的__str__函數打出自定義的字符串。
代碼中還有一個特殊的 __call__ 函數,該函數在將對象採用函數調用方式使用時被調用, 例如v1()相當於v1. call ()。
以上就是魔法函數的基本使用方法。常見的魔法函數我們可以使用 dir() 函數來查看。
輸出結果為:
上述結果中形式為‘__函數名__’的函數為魔法函數,注意有些對象也是這種形式,例如__class__, __module__等, 這些不是魔法函數。具體的魔法函數說明可以參考Python官方說明文檔。
以上代碼在Python3.6運行通過.
Python之運算符匯總
第一類:Python算術運算符
算術運算符主要是對兩個對象進行算術計算的符號,其運算邏輯與數學的概念相似,因此比較好理解,常見的算術運算符有:
+:加,對兩個對象進行相加運算;
-:減,一個數減去另一個數,或者得到負數;
/:除,一個數除以另外一個數;
*:乘,兩個數相乘,或者返回一個被重複若干次字符串;
%:取模除,返回兩個數相除的餘數;
//:取整數,返回兩個數相除所得商數的整數部分;
**:冪運算,返回X的Y次冪。
第二種:Python比較關係運算符
對於兩個對象進行比較,其運算對象可以是數值也可以是字符串。
==:等於,判斷兩個對象是否相等,這裡的相等是指兩個變量的值相等而兩個變量卻不相同;
此外,其他比較運算符還包括:!=不等於,判斷兩個對象不相等,大於,小於,=大於等於,=小於等於。
第三種:Python賦值運算符
賦值運算符是編程開發中最常用的運算符,即對一個對象進行賦值,將運算符右側的值賦值給左側的變量。
=:簡單的賦值運算符,用於變量的賦值;
+=:加法賦值運算符;
此外,-=、*=、/=、/=、%=、//=等。
第四種:Python邏輯運算符
用於邏輯預算的符號,一般用於判斷兩個變量的交並集,一般返回一個布爾值,其運算原理與數學中的邏輯運算相同,包括:
and:邏輯與運算;
or:邏輯或運算;
net:邏輯非運算。
第五種:Python位運算符
位運算符是對Python對象進行按照存儲的bit操作,其運算對象是二進制的格式,一般我們在開發過程中用到的比較少。
: 按位與運算符,參與運算的兩個值相應位都為1,則該位返回為1,否則為0。
| :按位或運算符,只要對應的兩個二進位有一個為1時,則該位返回1。
^ :按位異或運算符,當對應位相異時,結果為1。
~ :按位取反運算符,對數據的每個二進制位取反,即把1編程0,把0編程1。
:左移動運算符,將二進制位全部左移,高位丟棄,低位補0。
:右移動運算符,將二進制位全部右移,低位丟棄,高位補0。
第六:Python成員運算符
用於判斷兩個對象的是否存在包括關係,即一個對象中是否包含另外一個對象,其返回結尾為布爾值。成員運算符只有in和not
in,即判斷指定的值是否在某個對象中,這個對象可以是字符串,也可以是元組、列表。
第七:Python身份運算符
判斷是否引用自一個對象,主要是通過兩個對象的存儲單位id進行對比判斷兩個變量是否相同,其中運算符有is和is
not,表示兩個標識符是不是引用自一個對象。
==:邏輯運算符,主要用來驗證兩個變量的value值是否相同;
is:是身份運算符,判斷兩個變量是否相同,即其物理存儲地址id相同。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/285384.html