python核心編程筆記(3)

chap5 數字
5.1 


1. python數字類型:整型,長整型,布爾型,雙精度浮點型,十進制浮點型和複數;特點:標量貯存 直接訪問 不可更改類型  使用del徹底刪除


2.  布爾型:True  False
    標準整數類型:32機-2e31~(2e31)-1  八進制以“0”開頭  十六進制以“0x”開頭
    長整型: 只需要加個L或者l就表示是長整型了,長整數類型是標準整數類型的超集
    雙精度浮點型: 每個浮點數佔 8 個字節(64 比特)。浮點數值通常都有一個小數點和一個可選的後綴 e(大寫或小寫,表示科學計數法)。
    複數型:實虛兩部分構成 複數不能比較大小


3. 關於複數的內建屬性(dir(complex)可看):
   real false conjugate
eg. >>> c
    (2+3j)
    >>> c.imag
    3.0
    >>> c.real
    2.0
    >>> c.conjugate()   #返回該複數的共軛複數
    (2-3j)


4. 運算符
   (1)混合模式運算符(不同數據類型之間的運算)
    強制類型轉換:如果有一個操作數是複數, 另一個操作數被轉換爲複數。否則,如果有一個操作數是浮點數, 另一個操作數被轉換爲浮點數。否則, 如果有一個操作數是長整數,則另一個操作數被轉換爲長整數;否則,兩者必然都是普通整數,無須類型轉換。內建函數coerce()。
    coerce(...)
    coerce(x, y) -> (x1, y1)
    eg.
    >>> coerce(2,1.4)
    (2.0, 1.4)
   (2)標準類型運算符
   (3)算術運算符
    正+ 負- 雙目運算符 加+ 減- 乘* 除/ 取餘%(整數,複數,浮點數取餘) 冪運算** 整除//(向下取整)
   (4)位運算符(適用於整數)
    取反(~),按位 與(&), 或(|) 及 異或(^) 及左移(<<)和右移(>>)
    負數會被當成正數的 2 進制補碼處理;左移和右移 N 位等同於無溢出檢查的 2 的 N 次冪運算: 2**N;對長整數來說, 位運算符使用一種經修改的 2 進制補碼形式,使得符號位可以無限的向左擴展。 


5. 內建函數與工廠函數
    (1) 標準類型函數:例如cmp(), str() 和 type() 內建函數。 這些函數可以用於所有的標準類型。
    (2) 數字類型函數:
    a.轉換工廠函數
        函數 int(), long(), float() 和 complex() 用來將其它數值類型轉換爲相應的數值類型。
        eg. >>> obj = 12
            >>> obj
            12
            >>> int(str(obj),10)
            12
            >>> int(str(obj),16)
            18
     b.功能函數
        絕對值abs(), 類型匹配coerce(), 除法加取餘divmod(), 指數運算pow(),浮點數的四捨五入round()
        divmod()內建函數把除法和取餘運算結合起來, 返回一個包含商和餘數的元組。>>> divmod(10,3)返回(3, 1)
    (3)只用於整數  
        進制轉換:oct()(to八進制)和 hex()(to十六進制)
        ASCII轉換函數:函數 chr()接受一個單字節整數值,返回一個字符串,其值爲對應的字符。函數 ord()則相反,它接受一個字符,返回其對應的整數值。
6. 其他數字類型
    (1)布爾數 True False
        有兩個永不改變的值 True 或 False。
        布爾型是整型的子類,但是不能再被繼承而生成它的子類。
        沒有__nonzero__()方法的對象的默認值是 True。
        對於值爲零的任何數字或空集(空列表、空元組和空字典等)在 Python 中的布爾值都是 False。
        在數學運算中,Boolean 值的 True 和 False 分別對應於 1 和 0。
        以前返回整數的大部分標準庫函數和內建布爾型函數現在返回布爾型。
        True 和 False 現在都不是關鍵字,但是在 Python 將來的版本中會是。
     (2)引入decimal 模塊以便使用 Decimal 類十進制浮點數來編寫科學計算或金融應用程序


   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章