天天看點

Python中的運算符

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]的每個整數隻有唯一的一個位址。例如: