Python的操作符


一、數值運算符
python提供了9個基本的數值運算符,這些運算符由編譯器直接提供,所以叫做內置運算符(操作符):

運算符 功能
+ 加
- 減
* 乘
/ 除
% 模
** 冪
// 整除
-i 負數
+i 正數
+的使用:

>>> 2+3
5
-的使用:

>>> 2-3
-1
*的使用:

>>> 2*3
6
這9種運算符和數學習慣完全一致,運算結果也符合數學意義。比如兩個數相除如果商是小數則結果是浮點數。實數和虛數計算結果是虛數則輸出虛數:

>>> 2/3
0.6666666666666666
>>> 1.2+2+7j
(3.2+7j)
>>>
%的使用:

>>> 2%3
2
**的使用:

>>> 2**3
8
//的使用:

>>> 2//3
0
>>> 8//3
2
python和其他一些編程語言不同,它沒有自減(--)自增(++)等運算符。

二、比較運算符
比較運算符有的教科書稱為關系運算符,如要有6種:

符號 功能
> 大於
< 小於
>= 大於等於
<= 小於等於
== 等於
!=或<> 不等於
這些運算符的涵義和數學意義上的涵義一致。

三、賦值運算符
要清楚賦值運算就要清楚一個概念:變量。所謂變量就是在內存中開辟的一個空間。所謂賦值就是在這個空間里塞進數據,變量在賦值前沒有數據類型,賦值后變量的數據類型就是所賦值的類型,變量是需要名字的,變量的名字由字母、下划線及數字組成,但數字不能在最前面,變量名字中不能包含空格。另外命名python變量名不能用python的關鍵字(關於關鍵字的概念后面介紹)。比如給變量命名是合法的:a、abc、_abc、a2bc、a_2Bc;以下是不合法的:2a 數字在前;if 關鍵字;A^b 有非法符號。在python中漢字作為變量是合法的,但是一般不會用漢字命名變量。在python程序中變量一旦命名就要它賦值,不賦值的變量Pyhton會報錯誤:

>>> a
Traceback (most recent call last):
 File "<pyshell#22>", line 1, in <module>
   a
NameError: name 'a' is not defined
>>>
python中賦值運算符有7個。分別是:

符號 功能 實例
= 賦值
>>> a=2 >>> a 2

相當於把2這個值塞進a申請預留的內存空間

+= 加賦值
>>> a=2 >>> a+=3 >>> a 5

相當於a=a+3

-= 減賦值
>>> a=5 >>> a-=4 >>> a 1

相當於a=a-4

*= 乘賦值
>>> a=2 `>>> a=4>>> a 8

相當於a=a*4

/= 除賦值
>>> a=12>>> a/=3>>> a 4.0

相當於a=a/3

%= 模賦值
>>> a=13>>> a%=3>>> a 1

相當於a=a%3

**= 冪賦值 >>> a=2 >>> a**=4 >>> a 16
相當於a的4次方再賦值給a
一般用的最多的也是最主要的是=賦值運算符,它在數學教科書中是“等於”,在這里不是“等於”,在python中“等於”用==。

四、邏輯運算符
在python中邏輯運算符共三個:

and:與。表示兩個量或多個量同時為True其值才是True,否則為False。

>>> a=True
>>> b=True
>>> a and b
True
>>> b=False
>>> a and b
False
or :或。表示兩個量或多個量有一個為True,其值即為True,只有當所有的量為False是才為False。

>>> a=True
>>> b=False
>>> a or b
True
>>> a=False
>>> b=False
>>> a or b
False
not :非。即取反。當量為True是其值為False;當量為False時其值為True。

>>> a=True
>>> not a
False
>>> a=False
>>> not a
True
五、位運算符
python同樣也支持位運算,只是用的不多。python的為運算有6個。

&:按位與。即按位如果兩個對應為同時為1則為1,否則為0。

>>> a=0b1001
>>> b=0b0100
>>> a&b
0
|:按位或。即按位如果兩的對應的位有一個為1就為1,同時為0才為0。

>>> a=0b1001
>>> b=0b0100
>>> bin(a|b)
'0b1101'
~:按位非。即按位取反,安慰取反后會出現符號位,這一點需要注意。

>>> a=0b1001
>>> bin(~a)
'-0b1010'
由於用的是64位計算機,所以其中的a的值實際應為0b后面60個0再加上后面的1001。因此,按位取反后應該是60個1后面加0110,用-號表示應再對0110取反加1,即是結果-0b1010。

^:按位異或。即按對應為異或,相同為0不同位1。

>>> a=0b1001
>>> b=0b0100
>>> bin(a^b)
'0b1101
<<:按位左移。按位左移要給出移位數,否側報錯。移位后空余位補0。

>>> a=0b1001
>>> bin(a<<2)
'0b100100'
>>:按位右移。按位右移要給出移位數,否側報錯。移位后空余位補0。

>>> a=0b1001
>>> bin(a>>2)
'0b10'
另外,在python中還有成員運算符:in 、not in;及身份運算符:is 、is not。用到時再敘述。

六、轉義字符
python中還有一種操作符,叫轉義字符。轉義字符用反斜杠\加相應字母或符號表示。常用的有:

\\:顯示反斜杠。

\':顯示單引號。

\":顯示雙引號。

\n:換行。

\t:制表符。

轉義字符一般在打印(print)輸出時使用,它是因為有些字符在python語言中已被定義為其他涵義,為了避免打印輸出錯誤,或者需要表現其他功能(比如換行、制表位等)而設計的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM