Python使用對象模型來存儲數據。構造任何類型的值都是一個對象
所有的Python對象都擁有三個特性:身份、類型、值
身份:
每一個對象都有一個唯一的身份來標志自己,任何對象的身份可以使用內建函數id()來得到。這個值可以被認為是該對象的內存地址
類型:
對象的類型決定了該對象可以保存什么類型的值,可以進行怎樣的操作,以及遵循什么樣的規則,可以使用內建函數type()查看Python對象的類型:
代碼如下:
>>> type([1,2])
<type 'list'>
>>> type(24)
<type 'int'>
>>> type({1,2,3})
<type 'set'>
>>> type('a string')
<type 'str'>
type()返回的是對象而不是簡單的字符串。
值:對象表示的數據項
以上的三個特性在對象創建的時候就被賦值,除此之外,其他兩個特性都是只讀的
標準類型/基礎數據類型:
數字、整型、布爾型、長整形、浮點型、復數型、字符串、列表、元組、字典
其他內建類型:
類型、Null對象(None)、文件、集合/固定集合、函數/方法、模塊、類
None,Python的Null對象
Python有一個特殊的類型,稱為Null對象或者NoneType,只有一個值:None,它不支持任何運算也沒有任何內建的方法,類似于C語言的void,None類型的值
和C中的Null值非常相似
None沒有什么有用的屬性,它的布爾值總是False
布爾值
所有標準對象均可以用于布爾測試,同類型的對象之間可以比較大小。每一個對象天生具有布爾True或false值
空對象、值為0的任意數字或Null對象None的布爾值都是False
下列對象的布爾值都是False:
None
False(布爾類型)
所有的值為0的數
0(整型)
(浮點型)
0L(長整型)
0.0+0.0j(復數)
“”(空字符串)
[](空列表)
()(空元組)
{}(空字典)
值不是上面列出來的任何值的對象的布爾值都是True
標準類型運算符:
比較運算符用來判斷同類型對象是否相等,所有的內建類型均支持比較運算,比較運算返回布爾值True或False
代碼如下:
>>> 2==2
True
>>> 2.34<=3.44
True
>>> 'abc'=='xyz'
False
>>> 'xyz'>'abc'
True
>>> 'xyz'<'abc'
False
>>> [3,'abc']==['abc',3]
False
>>> [3,'abc']==[3,'abc']
True
多個比較操作可以在同一行上進行,求值順序為從左到右.例如:
代碼如下:
>>> 3<4<5 #等價于 (3<4)and(4<5)
True
>>> 4>3==3 #等價于(4>3)and(3==3)
新聞熱點
疑難解答