運算子與表示式
在python中,運算子與c語言相似,只有少數不同.
運算子名稱
說明例子+加
兩個物件相加
3 + 5得到8。'a' + 'b'得到'ab'。-減
得到負數或是乙個數減去另乙個數
-5.2得到乙個負數。50 - 24得到26。*乘
兩個數相乘或是返回乙個被重複若干次的字串
2 * 3得到6。'la' * 3得到'lalala'。**冪
返回x的y次冪
3 ** 4得到81(即3 * 3 * 3 * 3)/除
x除以y
4/3得到1(整數的除法得到整數結果)。4.0/3或4/3.0得到1.3333333333333333
//取整除
返回商的整數部分
4 // 3.0得到1.0%取模
返回除法的餘數
8%3得到2。-25.5%2.25得到1.5
<<
左移把乙個數的位元向左移一定數目(每個數在記憶體中都表示為位元或二進位制數字,即0和1)
2 << 2得到8。——2按位元表示為10
>>
右移把乙個數的位元向右移一定數目
11 >> 1得到5。——11按位元表示為1011,向右移動1位元後得到101,即十進位制的5。
&按位與
數的按位與
5 & 3得到1。
|按位或
數的按位或
5 | 3得到7。
^按位異或
數的按位異或
5 ^ 3得到6
~按位翻轉
x的按位翻轉是-(x+1)
~5得到6。
<
小於返回x是否小於y。所有比較運算子返回1表示真,返回0表示假。這分別與特殊的變數true和false等價。注意,這些變數名的大寫。
5 < 3返回0(即false)而3 < 5返回1(即true)。比較可以被任意連線:3 < 5 < 7返回true。
>
大於返回x是否大於y
5 > 3返回true。如果兩個運算元都是數字,它們首先被轉換為乙個共同的型別。否則,它總是返回false。
<=
小於等於
返回x是否小於等於y
x = 3; y = 6; x <= y返回true。
>=
大於等於
返回x是否大於等於y
x = 4; y = 3; x >= y返回true。
==等於
比較物件是否相等
x = 2; y = 2; x == y返回true。x = 'str'; y = 'str'; x == y返回false。x = 'str'; y = 'str'; x == y返回true。
!=不等於
比較兩個物件是否不相等
x = 2; y = 3; x != y返回true。
not布林「非」
如果x為true,返回false。如果x為false,它返回true。
x = true; not y返回false。
and布林「與」
如果x為false,x and y返回false,否則它返回y的計算值。
x = false; y = true; x and y,由於x是false,返回false。在這裡,python不會計算y,因為它知道這個表示式的值肯定是false(因為x是false)。這個現象稱為短路計算。
or布林「或」
如果x是true,它返回true,否則它返回y的計算值。
x = true; y = false; x or y返回true。短路計算在這裡也適用。
在python中,表示式書寫極為方便,例如
[python]view plain
copy
#!/usr/bin/python
# filename: expression.py
length = 5
breadth = 2
area = length * breadth
'area is'
, area
'perimeter is', 2
* (length + breadth)
結果為:
[python]view plain
copy
$ python expression.py
area is
10perimeter is14
注意python如何列印「漂亮的」輸出。儘管我們沒有在'area is'
和變數area
之間指定空格,python自動在那裡放了乙個空格,這樣我們就可以得到乙個清晰漂亮的輸出,而程式也變得更加易讀(因為我們不需要擔心輸出之間的空格問題)。在這裡,python是為了給程式設計師乙個方便,但是使用的時候需要小心。
Python學習筆記 day2 位運算
位運算 利用位運算實現快速計算 通過 快速交換兩個整數 a a b b a b b a b b a a a b a a b a b通過a a 快速獲取a的最後為 1 位置的整數。00 000101 5 1111 1011 5 00 000001 100 001110 14 1111 0010 14 ...
Python學習筆記2(直譯器 運算子)
linux unix的系統上,一般預設的 python 版本為 2.x,我們可以將 python3.x 安裝在 usr local python3 目錄中。安裝完成後,我們可以將路徑 usr local python3 bin 新增到您的 linux unix 作業系統的環境變數中,這樣您就可以通過...
記錄學習前端知識的旅程 2
又是新的一天到來,每天學習一點前端小知識。今天學習了幾個關於pc端特效的屬性。1 offset系列屬性 offsetleft 可以動態獲取元素距離父元素左邊框的偏移量。父元素需帶有定位,如果父元素沒有定位則相對於body偏移 offsettop 可以動態獲取元素距離父元素上邊框的偏移量。父元素需帶有...