大多數語句(邏輯行)都包含表示式。乙個簡單的表示式例子如2 + 3。乙個表示式可以分解為運算子和運算元。
運算子 的功能是完成某件事,它們由如+這樣的符號或者其他特定的關鍵字表示。運算子需要資料來進行運算,這樣的資料被稱為 運算元 。在這個例子中,2和3是運算元。
我們可以互動地使用直譯器來計算例子中給出的表示式。例如,為了測試表示式2 + 3,使用互動式的帶提示符的python直譯器:
>>> 2 + 3大多數運算子與c/c++類似,這裡之提出不同的運算子:**冪5 >>> 3 * 5
15 >>>
返回x的y次冪
3 ** 4得到81(即3 * 3 * 3 * 3)
//取整除
返回商的整數部分
4 // 3.0得到1.0
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。短路計算在這裡也適用。
運算子描述
lambda
lambda表示式
or布林「或」
and布林「與」
not x
布林「非」
in,not in
成員測試
is,is not
同一性測試
<,<=,>,>=,!=,==比較|
按位或^
按位異或
&按位與
<<,>>
移位+,-
加法與減法
*,/,%
乘法、除法與取餘
+x,-x
正負號~x
按位翻轉
**指數
x.attribute
屬性參考
x[index]
下標x[index:index]
定址段f(arguments...)
函式呼叫
(experession,...)
繫結或元組顯示
[expression,...]
列表顯示
字典顯示
'expression,...'
字串轉換
運算子優先順序表決定了哪個運算子在別的運算子之前計算。然而,如果要改變它們的計算順序,可以使用圓括號。例如,要在乙個表示式中讓加法在乘法之前計算,那麼就得寫成類似(2 + 3) * 4。
運算子通常由左向右結合,即具有相同優先順序的運算子按照從左向右的順序計算。例如,2 + 3 + 4
被計算成(2 + 3) + 4
。一些如賦值運算子那樣的運算子是由右向左結合的,即a = b = c
被處理為a = (b = c)
。
例如:123
4567
8# filename: expression.py
length
=
5
breadth
=
2
area
=
length
*
breadth
print
(
'area is'
, area)
print
(
'perimeter is'
,
2
*
(length
+
breadth))
輸出:
c:\users\administrator>python d:\python\expression.py以上程式實現了求矩形的面積和周長area is 10
perimeter is 14
我們注意到:儘管我們沒有在'area is'
和變數area
之間指定空格,python自動在那裡放了乙個空格,這樣我們就可以得到乙個清晰漂亮的輸出,而程式也變得更加易讀(因為我們不需要擔心輸出之間的空格問題)。
出處:
Python學習筆記(四)
dict 用 dict 表示 名字 成績 的查詢表如下 d 名字稱為key,對應的成績稱為value,dict就是通過 key 來查詢 value。key不能重複 花括號 表示這是乙個dict,然後按照 key value,寫出來即可。最後乙個 key value 的逗號可以省略。由於dict也是集...
python學習筆記(四)
0.假設你現在拿到了乙個英語句子,需要把這個句子中的每乙個單詞拿出來單獨處理。sentence i am an englist sentence 這時就需要對字串進行分割。sentence.split split 會把字串按照其中的空格進行分割,分割後的每一段都是乙個新的字串,最終返回這些字串組成乙...
Python學習日誌(四)
所有的 python 對像都擁有三個特性 身份,型別和值。身份 每乙個物件都有乙個唯一的身份標識自己,任何物件的身份可以使用內建函式 id 來得到。這個值可以被認為是該物件的記憶體位址。您極少會用到這個值,也不用太關心它究竟是什麼。型別 物件的型別決定了該物件可以儲存什麼型別的值,可以進行什麼樣的操...