官术网_书友最值得收藏!

第2章
基本數據類型及運算符

2.1 數據類型

在計算機內部它只認識0和1,而程序如何來區分放在內存中的0和1是什么呢?它們是數值還是字符呢?這就與數據類型分不開了。在Python中最常用的數據類型包括數值類型、邏輯類型、字符串類型等。本小節主要介紹數值類型和邏輯類型,字符類型在第3章中介紹。

2.1.1 數值類型

在Python語言中提供了三種數值類型:整數、浮點數(有小數部分)和復數,分別與數學中的整數、實數與復數對應。

1.整數

整數類型與數學中的整數類型一致。如:5,-8,101,-0x69,0o71。其中的-0x69,0o71為十六進制與八進制數。從Python 3.0之后的版本開始,對Python的整數范圍不再限制,理論上整數的取值范圍可以是[-∞,∞],但現實中會受計算機內存大小的限制。一般認為除極大數的運算外,Python整數類型沒有取值范圍限制。如:

    >>> 2**100
    1267650600228229401496703205376
    >>> 2**500
    327339060789614187001318969682759915221664204604306478948329136809613379 6404674554883270092325904157150886684127560071009217256545885393053328527589 376

這一點非常有用,在其他很多的編程語言中,常常將整數類型還要細分為short、int、long,這對初學值來說,初始編程就需要對程序中數據的使用范圍了如指掌,實在是挺困難的事。

整數類型中除十進制數外,二進制、八進制、十六進制數都可使用,除十進制數外,其他進制數需要用引導符引入。二進制數用0b或0B開頭,后面接數字0~1,八進制數用0o或0O開頭,后面接數字0~7,十六進制數用0x或0X開頭,后面接數字0~9或A~F。如:

    >>> 0o71
    57
    >>> 0xA1
    161

2.浮點數

浮點數與數學中的實數概念一致。如5.0,-2.3,3.1415,7.5e3,-4.5e-3。Python規定所有的浮點數必須帶有小數部分,小數部分可以為0,這種方式主要為了區別浮點數與整數。浮點數既可以用十進制數表示,還可以用科學計數法表示。

科學計數法表示數時用e或E作為冪的符號,如7.5e3或7.5E3,對應的十進制數大小為7.5*103。當指數為正數時,也可以表示為7.5e+3的形式。當指數為負數時,則只能一種形式。如-4.5e-3,對應的十進數大小為-4.5*10-3。如:

    >>> 7.5e3
    7500.0
    >>> -4.5e-3
    -0.0045

3.復數

復數類型表示數學中的復數。復數可以看作(a,b)的二元有序實數對,表示的數為a+bj,其中a為實部,b為虛部。復數的虛部通過后綴j或J來表示,如3.4+5j,-2.6+8j,1.23e-4+5.67e+76j。

在復數中,實部與虛部的數值都是浮點類型。對于復數z,獲取實部與虛部可以用z.real和z.imag。如:

    >>> 1.23e-4+5.67e+76j.real
    0.000123
    >>> 1.23e-4+5.67e+76j.imag
    5.67e+76

復數在科學計算中非常有用,Python直接支持復數類型的運算,為復數的使用提供了方便。

2.1.2 邏輯類型

在日常生活中經常對某些疑問需要回答“是”或“不是”,或者“Yes”或“No”。在數學中對判斷通常作出“對”或“錯”的回答。而計算機中,對肯定的回答用“True”,否定的回答用“False”來表示。如:

    >>> b=110<100
    >>> print (b) 
    False

在上面的這段代碼中,b為邏輯型變量,110<100為邏輯型表達式。邏輯變量只有兩種取值:True或False。判斷110<100為False,再將該值賦給b,所以輸出為False。

在Python中邏輯型值與整數值是可以相互轉換的。它們也可以參與運算。如:

    >>> True+5
    6
    >>> False+5
    5

True值為1,False為-1。可以通過int( )取整函數來觀察它們的值。

    >>> int (True) 
    1
    >>> int (False) 
    0

2.1.3 其他類型

除了上述提到了這些類型以外,Python還提供了字符串類型,如列表、元組、字典、集合等。這些類型請參看第3、4章。

主站蜘蛛池模板: 黄梅县| 呈贡县| 大竹县| 云浮市| 双江| 汾西县| 枝江市| 汕头市| 上林县| 荔波县| 合水县| 红桥区| 吕梁市| 锡林浩特市| 马关县| 札达县| 江津市| 南华县| 施秉县| 泸溪县| 白玉县| 新郑市| 河曲县| 大关县| 湛江市| 霸州市| 开远市| 梨树县| 阿克苏市| 丰镇市| 和林格尔县| 蒲城县| 南昌县| 七台河市| 金乡县| 喀什市| 南雄市| 旬阳县| 邵武市| 呈贡县| 灵石县|