1.所有的python對(duì)象都擁有三個(gè)特性:
①身份:每個(gè)對(duì)象都有唯一的身份標(biāo)識(shí)自己,可用內(nèi)建函數(shù)id()來得到。基本不會(huì)用到,不用太關(guān)心
>>> a = 2>>> id(2)39411616L>>> id(a)39411616L
這個(gè)例子也同時(shí)說明python中賦值其實(shí)是"引用"
②類型:對(duì)象的類型決定可以保存什么類型的值。用內(nèi)建函數(shù)type()可以得到對(duì)象的類型。
>>> type(2)<type 'int'>>>> type(2.0)<type 'float'>>>> type(111111111111111111111111)<type 'long'>>>> type('2')<type 'str'>>>> type(False)<type 'bool'>
>>> type(3.14j)
<type 'complex')>>> type(type)<type 'type'>
③值:對(duì)象表示的數(shù)據(jù)
除了值,對(duì)象的其他兩個(gè)特性都是只讀的
2.標(biāo)準(zhǔn)類型
python標(biāo)準(zhǔn)類型也稱為“基本數(shù)據(jù)類型”,因?yàn)檫@些類型是python內(nèi)建的基本數(shù)據(jù)類型。主要包括:
①Integer 'int' 整型
②Long integer 'long' 長(zhǎng)整型
③Floating point real number 'float' 浮點(diǎn)型
④Complex number 'complex' 復(fù)數(shù)型
⑤Boolean 'bool' 布爾型
⑥String 'str' 字符串
⑦List 'list' 列表
⑧Tuple 'tuple' 元組
⑨Dictionary 'dict' 字典
3.其他內(nèi)建類型
(1)其他數(shù)據(jù)類型包括:
類型
Null對(duì)象(None)
文件
集合/固定集合
函數(shù)/方法
模塊
類
(2)類型對(duì)象
①type()函數(shù)的輸出實(shí)際上是一個(gè)類型對(duì)象,是一個(gè)輸出了字符串的類型對(duì)象
②所有類型對(duì)象的類型都是type。
(3)Null對(duì)象
Null對(duì)象是python中一個(gè)特殊的類型,亦稱為NoneType。它只有一個(gè)值,就是None,不支持任何運(yùn)算也沒有任何內(nèi)建方法。
(4)筆記

4.標(biāo)準(zhǔn)類型操作符
(1)對(duì)象值的比較
比較操作符用來判斷同類型對(duì)象是否相等,所以內(nèi)建類型均支持比較運(yùn)算,比較運(yùn)算返回布爾值True或者False。
實(shí)際進(jìn)行的比較運(yùn)算因類型而異,比如數(shù)字類型根據(jù)數(shù)值的大小和符號(hào)比較,字符串按照字符序列值進(jìn)行比較,等等。
如圖例


多個(gè)比較操作符可以在同一行進(jìn)行,順序?yàn)閺淖蟮接?/p>

附:標(biāo)準(zhǔn)類型值比較操作符

(2)對(duì)象身份比較
標(biāo)準(zhǔn)類型值比較操作是針對(duì)對(duì)象的值進(jìn)行的,比較的是對(duì)象的數(shù)值而不是對(duì)象本身。python同樣支持對(duì)對(duì)象本身的比較,作為對(duì)對(duì)象值比較的補(bǔ)充。
標(biāo)準(zhǔn)類型對(duì)象身份比較操作符:

具體操作:

在上面例子中,在對(duì)a、b分別進(jìn)行列表賦值時(shí),python分別為a b 創(chuàng)建了不同的對(duì)象,即使兩者的值相等,a b本身仍不相等;
然而在對(duì)a b進(jìn)行整型賦值時(shí),分別賦值的結(jié)果卻是a b本身也相等
這種情況的原因是,python會(huì)緩存簡(jiǎn)單的整型,所以a b會(huì)指向同一個(gè)對(duì)象,'a is b' 才會(huì)返回True。在python 2.7中,緩存的簡(jiǎn)單整型范圍是(-5,256)
①驗(yàn)證上限方法
1 num1 = 0 2 num2 = 0 3 while True: 4 if num1 is not num2: 5 PRint "%d is the upper limit!" % (num1-1) 6 break 7 num1 += 1 8 num2 += 1 9 10 輸出:256 is the upper limit!11 12
②驗(yàn)證下限方法
num1 = 0num2 = 0while True: if num1 is not num2: print "%d is the lower limit!" % (num1+1) break num1 += -1 num2 += -1輸出:-5 is the lower limit!
(3)布爾類型
布爾邏輯操作符包括not、and、or
其中,not優(yōu)先級(jí)最高,and次之,or最低
5.標(biāo)準(zhǔn)類型內(nèi)建函數(shù)
標(biāo)準(zhǔn)類型內(nèi)建函數(shù)包括:

(1)type()函數(shù)
type()接受一個(gè)對(duì)象作為參數(shù),返回參數(shù)的類型,返回值是一個(gè)類型對(duì)象
(2)cmp()
內(nèi)建函數(shù)cmp()用于比較兩個(gè)對(duì)象obj1和obj2:若obj1小于obj2,則返回一個(gè)負(fù)整型;若obj1大于obj2,則返回一個(gè)正整型;若obj1等于obj2則返回0。

(3) str() repr() ``
三者都可以方便的以字符串的方式獲取對(duì)象的內(nèi)容、類型、數(shù)值屬性等信息。
str()函數(shù)得到的字符串可讀性好,返回結(jié)果通常無法用eval()取值,但很適合用于print語句輸出
repr()和``運(yùn)算在特性和功能上都非常相似,他們返回一個(gè)對(duì)象的"官方"字符串表示,絕大多數(shù)情況下可以通過求值運(yùn)算eval()重新取得該對(duì)象。
總之,repr()輸出對(duì)python較為友好,str()輸出對(duì)用戶更為友好,很多情況下三者的輸出是完全一樣的
(4) type() isinstance()
isinstance()是python的一個(gè)內(nèi)建函數(shù),語法是isinstance(object,classinfo)。第一個(gè)參數(shù)是對(duì)象,第二個(gè)參數(shù)是類型或類型組成的元組,返回的值是布爾型。若對(duì)象的類型與第二個(gè)參數(shù)的類型相同或者對(duì)象的類型與作為元組給出的第二個(gè)參數(shù)中的某一個(gè)類型相同,則返回True。否則,返回False

新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注