Python入門篇之對(duì)象類型
Python使用對(duì)象模型來存儲(chǔ)數(shù)據(jù)。構(gòu)造任何類型的值都是一個(gè)對(duì)象
所有的Python對(duì)象都擁有三個(gè)特性:身份、類型、值
身份:
每一個(gè)對(duì)象都有一個(gè)唯一的身份來標(biāo)志自己,任何對(duì)象的身份可以使用內(nèi)建函數(shù)id()來得到。這個(gè)值可以被認(rèn)為是該對(duì)象的內(nèi)存地址
類型:
對(duì)象的類型決定了該對(duì)象可以保存什么類型的值,可以進(jìn)行怎樣的操作,以及遵循什么樣的規(guī)則,可以使用內(nèi)建函數(shù)type()查看Python對(duì)象的類型:
>>> type([1,2])
<type 'list'>
>>> type(24)
<type 'int'>
>>> type({1,2,3})
<type 'set'>
>>> type('a string')
<type 'str'>
type()返回的是對(duì)象而不是簡單的字符串。
值:對(duì)象表示的數(shù)據(jù)項(xiàng)
以上的三個(gè)特性在對(duì)象創(chuàng)建的時(shí)候就被賦值,除此之外,其他兩個(gè)特性都是只讀的
標(biāo)準(zhǔn)類型/基礎(chǔ)數(shù)據(jù)類型:
數(shù)字、整型、布爾型、長整形、浮點(diǎn)型、復(fù)數(shù)型、字符串、列表、元組、字典
其他內(nèi)建類型:
類型、Null對(duì)象(None)、文件、集合/固定集合、函數(shù)/方法、模塊、類
None,Python的Null對(duì)象
Python有一個(gè)特殊的類型,稱為Null對(duì)象或者NoneType,只有一個(gè)值:None,它不支持任何運(yùn)算也沒有任何內(nèi)建的方法,類似于C語言的void,None類型的值
和C中的Null值非常相似
None沒有什么有用的屬性,它的布爾值總是False
布爾值
所有標(biāo)準(zhǔn)對(duì)象均可以用于布爾測(cè)試,同類型的對(duì)象之間可以比較大小。每一個(gè)對(duì)象天生具有布爾True或false值
空對(duì)象、值為0的任意數(shù)字或Null對(duì)象None的布爾值都是False
下列對(duì)象的布爾值都是False:
None
False(布爾類型)
所有的值為0的數(shù)
0(整型)
(浮點(diǎn)型)
0L(長整型)
0.0+0.0j(復(fù)數(shù))
“”(空字符串)
[](空列表)
()(空元組)
{}(空字典)
值不是上面列出來的任何值的對(duì)象的布爾值都是True
標(biāo)準(zhǔn)類型運(yùn)算符:
比較運(yùn)算符用來判斷同類型對(duì)象是否相等,所有的內(nèi)建類型均支持比較運(yùn)算,比較運(yùn)算返回布爾值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
多個(gè)比較操作可以在同一行上進(jìn)行,求值順序?yàn)閺淖蟮接?例如:
>>> 3<4<5 #等價(jià)于 (3<4)and(4<5)
True
>>> 4>3==3 #等價(jià)于(4>3)and(3==3)
True
>>> 4<3<5!=2<7
False
標(biāo)準(zhǔn)類型值比較運(yùn)算符:

對(duì)象身份比較
每個(gè)對(duì)象都天生具有一個(gè)計(jì)數(shù)器,記錄它自己的引用次數(shù)。這個(gè)數(shù)目表示有多少個(gè)變量指向該對(duì)象
Python提供了is和is not運(yùn)算符來測(cè)試兩個(gè)變量是否指向同一個(gè)對(duì)象
a is b 等價(jià)于 id(a)==id(b)
>>> foo2=foo1
>>> foo1 is foo2
True
>>> foo1 is not foo2
False
>>> id(foo1)==id(foo2)
True
>>>
布爾類型
布爾邏輯運(yùn)算符and,or,not都是Python關(guān)鍵字,這些運(yùn)算符的優(yōu)先級(jí)按從高到低的順序如下:
標(biāo)準(zhǔn)類型布爾運(yùn)算符:

>>> x,y=3.1415926,-1024
>>> x<5.0
True
>>> not(x<5.0)
False
>>> (x<5.0) or (y>2.71828)
True
>>> (x<5.0) and (y>2.71828)
False
>>> not(x is y)
True
標(biāo)準(zhǔn)類型內(nèi)建函數(shù)
Python提供了一些內(nèi)建函數(shù)用于這些基本對(duì)象類型:
cmp(), repr(), str(), type()和等同于repr()函數(shù)的單反引號(hào)('')運(yùn)算符
type()接受一個(gè)對(duì)象作為參數(shù),并返回它的類型。它的返回值是一個(gè)類型對(duì)象。
>>> type(4)
<type 'int'>
>>> type('hello!')
<type 'str'>
>>> type(type(4))
<type 'type'>
cmp()用于比較兩個(gè)對(duì)象obj1和obj2,如果obj1<obj2返回-1,如果obj1>obj2返回1,如果obj1==obj2返回0,行為類似于C中的strcmp()函數(shù),比較是在對(duì)象之間進(jìn)行的
>>> a,b=-4,12
>>> cmp(a,b)
-1
>>> cmp(b,a)
1
>>> b=-4
>>> cmp(a,b)
0
>>> a,b='abc','xyz'
>>> cmp(a,b)
-1
>>> cmp(b,a)
1
>>> b='abc'
>>> cmp(a,b)
0
str()和repr()(及''運(yùn)算符)
內(nèi)建函數(shù)str()和repr()或反引號(hào)運(yùn)算符('')可以方便的以字符串的方式獲得對(duì)象的內(nèi)容、類型、數(shù)值屬性等信息。
str()函數(shù)得到的字符串可讀性好,而repr()函數(shù)得到的字符串通??梢杂脕碇匦芦@得該對(duì)象
>>> str(4.53-2j)
'(4.53-2j)'
>>> str(1)
'1'
>>> str(2e10)
'20000000000.0'
>>> str([0,5,9,9])
'[0, 5, 9, 9]'
>>> repr([0,5,9,9])
'[0, 5, 9, 9]'
>>> '[0,5,9,9]'
'[0,5,9,9]'
str()和repr()和''運(yùn)算在特性和功能方面都非常的相似,repr()和''做的事情完全一樣,返回的是一個(gè)對(duì)象的官方字符串表示,可以通過求值運(yùn)算(使用eval()內(nèi)建函數(shù))重新得到該對(duì)象,但是str()函數(shù)則有所不同,它可以生成一個(gè)對(duì)象的可讀性好的字符串表示,返回結(jié)果無法用于eval()求值,但是很適合用于print語句輸出。

標(biāo)準(zhǔn)類型運(yùn)算符和內(nèi)建函數(shù)
- Python中的對(duì)象,方法,類,實(shí)例,函數(shù)用法分析
- 全面了解python中的類,對(duì)象,方法,屬性
- Python中的類與對(duì)象之描述符詳解
- 在python的類中動(dòng)態(tài)添加屬性與生成對(duì)象
- Python中類的定義、繼承及使用對(duì)象實(shí)例詳解
- Python類的定義、繼承及類對(duì)象使用方法簡明教程
- python基礎(chǔ)教程之對(duì)象和類的實(shí)際運(yùn)用
- Python面向?qū)ο缶幊讨械念惡蛯?duì)象學(xué)習(xí)教程
- 深入源碼解析Python中的對(duì)象與類型
- 一篇文章搞懂Python的類與對(duì)象名稱空間
相關(guān)文章
Python函數(shù)參數(shù)中的*與**運(yùn)算符
這篇文章主要介紹了Python函數(shù)參數(shù)中的*與**運(yùn)算符,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Python Pandas中創(chuàng)建Series的三種方法總結(jié)
這篇文章主要介紹了Python Pandas中創(chuàng)建Series的三種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
解決Python中回文數(shù)和質(zhì)數(shù)的問題
今天小編就為大家分享一篇解決Python中回文數(shù)和質(zhì)數(shù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
解決python的空格和tab混淆而報(bào)錯(cuò)的問題
這篇文章主要介紹了解決python的空格和tab混淆而報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02
CentOS下Python3的安裝及創(chuàng)建虛擬環(huán)境的方法
這篇文章主要介紹了CentOS下Python3的安裝及創(chuàng)建虛擬環(huán)境的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11
nginx黑名單和django限速,最簡單的防惡意請(qǐng)求方法分享
今天小編就為大家分享一篇nginx黑名單和django限速,最簡單的防惡意請(qǐng)求方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python用戶推薦系統(tǒng)曼哈頓算法實(shí)現(xiàn)完整代碼
這篇文章主要介紹了Python用戶推薦系統(tǒng)曼哈頓算法實(shí)現(xiàn)完整代碼,簡單介紹了曼哈頓距離的定義,然后分享了其Python實(shí)現(xiàn)代碼,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12

