問題:
1. Python數值有哪些?
2. 各類型的精度是多少?
3. 類型的轉換是如何實現的?
5. 如何使用這些數據類型?需要注意什麼?
6. 什麼是不可變類型?
數值類型:
整型: (不可變類型)
標准整型:取值范圍[-sys.maxint-1, sys.maxint]
長整型:可表示無限大的整數,其值僅與你機器支持的(虛擬)內存大小有關
數值超出標准整型范圍將會轉換為長整型。
例如:
1.定義標准整型
>>> import sys
>>> a = sys.maxint
>>> a
2147483647
2.將a的值加1
>>> a=sys.maxint+1
>>> a
2147483648L
布爾型:(不可變類型)
取值范圍:True 和 False 分布對應整型的1和0
對bool值區分大小寫
例如:
>>>a=true
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
浮點型:
類似c語言中的double,每個浮點型數值占8個字節(64位)
精度:
>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.
2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsi
lon=2.220446049250313e-16, radix=2, rounds=1)
復數:
Python中關於復數的幾個概念:
1.虛數不能單獨存在,它們總是和一個值為0.0的實數部分一起來構成一個復數
2.復數由實數部分和虛數部分構成
3.表示復數的語法:real+imagej
4.實數部分和虛數部分都是浮點數
5.虛數部分必須有後綴j或J
類型轉換:
當我們在做運算時,如果兩個操作數都是同一種數據類型,那就沒必要進行類型轉換,
僅當兩個類型不一致的情況下,Python才會去檢查一個操作數是否可以轉換為另一類型的操作數。
自動類型轉換:
無需編碼解決轉換問題。
基本規則:
將一個整型轉換為浮點型,只需在整型後面加".0"
將一個非復數轉換為復數,只需在非復數後面加"0j"
強制類型轉換:coerce()
coerce() Python內建函數用來實現強制類型轉換
示例:
1.整型與浮點的轉換
>>> coerce(1,1.1)
(1.0, 1.1)
2.長整型與浮點的轉換
>>> coerce(123L,0.1)
(123.0, 0.1)
3.整數與長整數的轉換
>>> coerce(1,2L)
(1L, 2L)
4.整數與復數的轉換
>>> coerce(1,1+1j)
((1+0j), (1+1j))
不可變類型:
創建一個變量並賦值這個過程是將變量名和變量值分別分配內存,而變量值一旦被
創建後就不可以被更改。
例如:
1.創建變量a,變量b,都賦值為1
>>> a=1;b=1
2.查看a,b變量的值的引用地址
>>> id(a);id(b)
5153592
5153592
id函數的解釋:
Return the identity of an object. This is guaranteed to be unique among
simultaneously existing objects. (Hint: it's the object's memory address.)
《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm
《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm
Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm
在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm
Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡