Python中的運算符相比較于傳統的C/C++差别不是很大,主要是一些個别的運算符上的差别。包括:算術、比較、指派、位、邏輯、成員、身份等。
它們的優先級:
符号
說明
**
指數(最高優先級)
~,+,-
按位翻轉,一進制加号和減号(最後兩個的方法名為+@ 和 -@,例如:+5,-5 正5,負5)
*,/,%,//
乘,除,取模和取整數
+,-
二進制加号和減号
>>,<<
右移,左移運算符
&
按位與
,^
按位或,按位異或
<=,>=,==,!=
比較運算符
=,%=,/=,//=,-=,+=,*=,**=
指派運算符
is,is not
身份運算符
in,not in
成員運算符
not,or,and
邏輯運算符
注意:Python中是沒有一進制遞減符(–),一進制遞加符(++),邏輯運算符(&&,||)的。
in,not in的使用
== 和 is 的差別
Python語言中的變量通常有3個屬性,分别是name,id和value,其中的name為變量名,id與記憶體位址聯合,value變量的值。
<code>==</code>和<code>is</code> 都可以用來比較兩個對象,但是==比較是對象的值(value),is比較的是對象的位址(id)。
例如:
其中<code>==</code>運算符比較的是變量的value,is運算符比較的是變量的id。a和b變量的值是一樣的,是以a==b為True;a和b變量的id是不一樣的,是以a is b 為False。
但是并不是所有情況都是這樣,對于小整數,Python緩存了-5~256之間的所有整數,共262個,是以[-5,256]的每個整數隻有唯一的一個位址。例如: