- Python程序設(shè)計(jì)與算法基礎(chǔ)教程(第2版)(微課版)
- 江紅 余青松
- 981字
- 2019-11-15 20:19:00
4.1 Python內(nèi)置數(shù)據(jù)類型概述
在Python語言中一切皆為對象,而每個對象屬于某個數(shù)據(jù)類型。Python的數(shù)據(jù)類型包括內(nèi)置的數(shù)據(jù)類型、模塊中定義的數(shù)據(jù)類型和用戶自定義的類型。
通過字面量或調(diào)用對象的構(gòu)造方法可以創(chuàng)建數(shù)據(jù)類型的實(shí)例對象,然后使用運(yùn)算符、內(nèi)置函數(shù)、系統(tǒng)函數(shù)和對象方法進(jìn)行運(yùn)算操作。
4.1.1 數(shù)值數(shù)據(jù)類型
Python包括4種內(nèi)置的數(shù)值類型。
(1)整數(shù)類型(int):用于表示整數(shù)。例如,123、1024、-982。
(2)布爾類型(bool):用于表示布爾邏輯值。例如,True、False。
(3)浮點(diǎn)類型(float):用于表示實(shí)數(shù)。例如,3.14、-1.23、1.1E10、-3e-4。
(4)復(fù)數(shù)類型(complex):用于表示復(fù)數(shù)。例如,3+4j、-2-4j、1.2+3.4j。
數(shù)值可以使用運(yùn)算符(四則運(yùn)算+、-、*、/以及冪運(yùn)算**等)、內(nèi)置函數(shù)(abs()、round()等)、math/cmath模塊中的數(shù)學(xué)函數(shù)、int/float/complex/bool類的方法。
4.1.2 序列數(shù)據(jù)類型
序列數(shù)據(jù)類型表示若干有序數(shù)據(jù)。Python序列數(shù)據(jù)類型分為不可變序列數(shù)據(jù)類型和可變序列數(shù)據(jù)類型。
不可變序列數(shù)據(jù)類型包括以下3種。
(1)字符串(str):表示Unicode字符序列。例如,"hello"。
(2)元組類型(tuple):表示任意類型數(shù)據(jù)的序列。例如,(1,2,3),(1,"2")。
(3)字節(jié)序列(bytes):表示字節(jié)(8位)序列數(shù)據(jù)。例如,b'abc'。
可變序列數(shù)據(jù)類型包括以下兩種。
(1)列表類型(list):表示可以修改的任意類型數(shù)據(jù)的序列。例如,[1,"two"]。
(2)字節(jié)數(shù)組(bytearray):表示可以修改的字節(jié)(8位)數(shù)組。
4.1.3 集合數(shù)據(jù)類型
集合數(shù)據(jù)類型表示若干數(shù)據(jù)的集合,數(shù)據(jù)項(xiàng)目沒有順序,且不重復(fù)。Python集合數(shù)據(jù)類型包括以下兩種。
(1)集(set):可變對象。例如,{1,2,3}。
(2)不可變集(frozenset):不可變對象。例如:

4.1.4 字典數(shù)據(jù)類型
字典數(shù)據(jù)類型用于表示鍵/值對的字典。Python內(nèi)置的字典數(shù)據(jù)類型為dict。例如,{1:"one",2:"two"}。
4.1.5 NoneType、NotImplementedType和EllipsisType
Python包含3種特殊的數(shù)據(jù)類型,即NoneType、NotImplementedType和EllipsisType。
1. NoneType
NoneType數(shù)據(jù)類型包含唯一值None,主要用于表示空值,如沒有返回值的函數(shù)的結(jié)果。例如:

2. NotImplementedType
NotImplementedType數(shù)據(jù)類型包含唯一值NotImplemented。在進(jìn)行數(shù)值運(yùn)算和比較運(yùn)算時,如果對象不支持,則可能返回該值。例如:

3. EllipsisType
EllipsisType數(shù)據(jù)類型包含唯一值Ellipsis,表示省略字符串符號“…”。例如:

4.1.6 其他數(shù)據(jù)類型
Python中的一切對象都有一個數(shù)據(jù)類型,模塊、類、對象、函數(shù)都屬于某種數(shù)據(jù)類型。
Python解釋器包含內(nèi)置類型,例如代碼對象(Code objects)、框架對象(Frame objects)、跟蹤對象(Traceback objects)、切片對象(Slice objects)、靜態(tài)方法對象(Static method objects)、類方法對象(Class method objects)。這部分涉及Python語言本身的構(gòu)造。
- Java逍遙游記
- C語言程序設(shè)計(jì)教程
- .NET之美:.NET關(guān)鍵技術(shù)深入解析
- SQL Server 2016從入門到精通(視頻教學(xué)超值版)
- Learn to Create WordPress Themes by Building 5 Projects
- PHP 7底層設(shè)計(jì)與源碼實(shí)現(xiàn)
- Python王者歸來
- 你必須知道的204個Visual C++開發(fā)問題
- PLC編程及應(yīng)用實(shí)戰(zhàn)
- Spring Boot企業(yè)級項(xiàng)目開發(fā)實(shí)戰(zhàn)
- HTML5從入門到精通 (第2版)
- jQuery Mobile移動應(yīng)用開發(fā)實(shí)戰(zhàn)(第3版)
- Learning Apache Karaf
- Mastering C++ Multithreading
- Visualforce Developer’s guide