表達式是能夠計算的代碼片斷,由操做數和運算符構成,運算符包括+、-、*、\等。操做數包括文本變量如:‘abc’、變量如:i= 12三、類成員變量/函數(如:math.pi)等,也能夠包含子表達式(如:2**10指的是2 的10次方)、乘號不能省略,pow(2,3,3)表示2的3次方,第二個3表示3次根號開方,結果爲2python
python中能夠使用圓括號()控制運算的優先順序數組
python語句分爲簡單語句(由一行代碼就能夠組成的,不是一個函數體)和複合語句(由多行代碼塊組成的,是一個函數體;由頭部語句和構造體語句組成)使用縮進格式劃分語句塊函數
例如 :數學表達式1/2 sin[a(x+1)+b] 寫成python表達式爲:3d
import math對象
math.sin(a*(x+1)+b)/2blog
python中全部數據都是對象,每一個對象都屬於某個數據類型ip
對象類型(type)和標識(id)字符串
如type(25) #輸出:<class'int'>數學
id(25) #輸出:505911248table
對象引用
經過標識符和賦值運算符(=),能夠指定某個變量指向某個對象,即引用該對象。多個變量能夠引用同一個對象,一個變量也能夠改變指向其餘的對象,例如
type(123) #輸出:<class'int'>
id(123) #輸出:505912816
a = 123
id(a) #輸出:505912816
b = 123
id(b) #輸出505912816
釋:123爲類int的對象實例,其id爲505912816:a = 123,即變量a指向(引用)對象實例123,故其id爲505912816:b = 123,即變量b也指向(引用)對象實例123,故其亦爲5059128116
對象比較(==)和類型判別(is)
‘==’運算符能夠判斷兩個變量指向的對象的值是否相同;‘is’運算符能夠判斷兩個變量是否指向同一個對象,例如:
a = 'abc'
b = '123'
x = a
y = a
x == y #輸出 ‘true’
x is y #輸出‘true’
x == b #輸出‘false’
x is b #輸出‘false’
不可變對象(immutable)和可變對象(mutable)
不可變對象一旦建立,就不能被修改,可變對象的內容能夠被修改
複合賦值語句
系列解包賦值
python支持把組合數據類型解包爲對應相同個數的變量,例如:
a,b = 1,2
a #輸出1
b #輸出2
a,b = b,a #a與b進行交換
a #輸出2
b #輸出1
但變量的個數必須與數值的個數保持一致不然會出錯,如:x,y = 1,這時因爲變量是倆個,而只有一個數值,因此會出錯
python中包含三種特殊的數據類型:None,NotImplemented , Ellipsis
1,None 類型包含惟一值None,主要用於表示空值,如沒有返回值的函數結果
如:
None
print(None) #輸出None
type(None),id(None) #輸出:(<class 'None Type'>,505672132)
2.NotImplemented 類型包含惟一值NotImplemented,數值運算和比較運算時,若是對象不支持,則可能返回該值
NotImplemented #輸出NotImplemented
type(NotImplemented), id(NotImplemented) #輸出(<class'NotImplemented Type'>,505672340)
3.Ellipsis 類型包含惟一值Ellipsis , 表示省略字符串號:...。例如:
Ellipsis #輸出:Ellipsis
type(Ellipsis) , id(Ellipsis) #輸出(<class 'Ellipsis Type'>,505677708)
數值數據類型
python包含四種內置的數值類型
1,整數類型(int)如:123,456,-13
2,布爾類型(bool) 如:True 、False
3,浮點類型 (float) 如:3.14,-1.2,1.1e10
4,複數類型(complex) 如:3+4j,1.2+5.6j
序列數據類型
不可變的序列數據類型
1,字符串;2,元組類型;3,字節序列
可變的序列數據類型
1,列表類型;2,字節數組
lambda函數是一種快速定義單行的最小函數,從lisp中借來的,能夠用在任何函數中,也稱爲匿名函數,能夠接收任意多個參數,如:
u = lambda x,y:x*y
u(2,3) # 結果爲6