天天看點

Python學習記錄(3)

數字

一, python的數字類型

數字并不是一個真正的對象類型。而是一組類似類型的分類。他不僅僅支援通常的數字類型(整數和浮點數),而且支援通過常量去直接建立數字以及處理數字的表達式。Python數字完整工具包括:

1) 整數和浮點數

2) 複數

3) 固定精度的十進制數

4) 有理分數

5) 集合

6) 布爾類型

7) 無窮的整數精度

8) 各種數字内置函數和子產品

二, 數字常量

在基本類型中,python提供整數和浮點數。Python還允許我們使用十六進制、八進制和二進制常量來表示整數。提供一個複數類型,并且允許整數具有無窮的精度。

1, 整數和浮點數:

整數以十進制數字的字元串寫法出現。浮點數帶一個小數點,也可以加上科學計數标志e或者E。

2, 整數可以編寫為十進制、八進制(0o,内置函數oct())、十六進制(0x,内置函數hex())和二進制形式(0b,内置函數bin())。

3, 複數:python複數常量可以寫成實部+虛部寫法。虛部以j或者J結尾。也可以通過complex(real,imag)來建立複數。

4, 編寫其他的數字類型:其他的例如集合、分數等可以通過導入子產品中的函數倆建立。

三, 内置數學工具拓展:

1, 表達式操作符 +、-、*、/、>>、&等

2, 内置數學函數 pow、abs、round、int、hex、bin等

3, 公用子產品 random、math等

四, python表達式操作符

1, 表達式是處理數字的基本工具。表達式的結果為另一個數字對象。除了正常的+、-、*、/、>>、&等。python還具有is操作符測試對象身份(也就是記憶體位址,嚴格意義上的相等),lambda建立匿名函數。

1) yield x 生成器函數發送協定(https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/)

2) lambda args:expression 生成匿名函數

3) x if y else z 三元選擇表達式

4) x or y 邏輯或

5) x and y 邏輯與

6) not x 邏輯非

7) x in y,x not in y 成員關系

8) x is y,x is not y 對象實體測試

9) x<y,x<=y,x>y,x>=y 大小比較,集合自己和超集值相等性操作符

10) x==y,x!=y

11) x|y,x^y,x&y

12) x>>y,x<<y

13) x+y,x-y

14) x*y,x%y,x/y,x//y

15) -x,+x

16) !x

17) X**y

18) X[i]

19) X[i:j:k]

20) X(…)

21) X.attr

22) (…)

23) […]

24) {…}

五, 混合操作所遵循的操作符優先級

按照上表,由上到下由下級遞增。

六, 數字顯示的格式:

Python學習記錄(3)

七, 比較:一般的和連續的

一般比較傳回True或False,連續的比較根據優先級依次比較。當然存在這樣一種情況:

1==2<3 #如果按照從左到右運算,那麼該傳回值為True,實際上python處理時,将其了解為1==2 and 2<3。

八, 除法:傳統除法、Floor除法和真除法:x/y , x//y

截斷除法和floor 除法觀察

>>> import math

>>> 5//-2,math.trunc(5/float(-2))

(-3, -2)

九,其他内置工具:

Python學習記錄(3)
Python學習記錄(3)