python语言中包含的标准数据类型_Python对象——标准类型的分类
如果讓我們最啰嗦的描述標(biāo)準(zhǔn)類型,我們也許會(huì)稱它們是Python 的“基本內(nèi)建數(shù)據(jù)對象原始類型”。
z “基本”,是指這些類型都是Python 提供的標(biāo)準(zhǔn)或核心類型。
z “內(nèi)建”,是由于這些類型是Python 默認(rèn)就提供的
z “數(shù)據(jù)”,因?yàn)樗麄冇糜谝话銛?shù)據(jù)存儲
z “對象”,因?yàn)閷ο笫菙?shù)據(jù)和功能的默認(rèn)抽象
z “原始”,因?yàn)檫@些類型提供的是最底層的粒度數(shù)據(jù)存儲
z “類型”,因?yàn)樗麄兙褪菙?shù)據(jù)類型
有三種不同的模型可以幫助我們對基本類型進(jìn)行分類,每種模型都展示給我們這些類型之間的相互關(guān)系。這些模型可以幫助我們更好的理解類型之間的相互關(guān)系以及他們的工作原理。
存儲模型
我們對類型進(jìn)行分類的第一種方式, 就是看看這種類型的對象能保存多少個(gè)對象。Python的類型, 就象絕大多數(shù)其它語言一樣,能容納一個(gè)或多個(gè)值。一個(gè)能保存單個(gè)字面對象的類型我們稱它為原子或標(biāo)量存儲,那些可容納多個(gè)對象的類型,我們稱之為容器存儲。容器類型又帶來一個(gè)新問題,那就是它是否可以容納不同類型的對象。
所有的Python 容器對象都能夠容納不同類型的對象。
字符串看上去像一個(gè)容器類型,因?yàn)樗鞍弊址?#xff08;并且經(jīng)常多于一個(gè)字符),不過由于Python 并沒有字符類型,所以字符串是一個(gè)自我包含的文字類型。
分類 Python 類型
標(biāo)量/原子類型 數(shù)值(所有的數(shù)值類型),字符串(全部是文字)
容器類型 列表、元組、字典
更新模型
另一種對標(biāo)準(zhǔn)類型進(jìn)行分類的方式就是, 針對每一個(gè)類型問一個(gè)問題:“對象創(chuàng)建成功之后,它的值可以進(jìn)行更新嗎?” 在前面我們介紹Python 數(shù)據(jù)類型時(shí)曾經(jīng)提到,某些類型允許他們的值進(jìn)行更新,而另一些則不允許。可變對象允許他們的值被更新,而不可變對象則不允許他們的值被更改。
x = 'Python numbers and strings'
x = 'are immutable?!? What gives?'
i = 0
i = i + 1
“在我看來, 這可不象是不可變對象的行為!” 沒錯(cuò),是這樣,不過你還沒有搞清楚幕后的真相。上面的例子中,事實(shí)上是一個(gè)新對象被創(chuàng)建,然后它取代了舊對象。新創(chuàng)建的對象被關(guān)聯(lián)到原來的變量名, 舊對象被丟棄,垃圾回收器會(huì)在適當(dāng)?shù)臅r(shí)機(jī)回收這些對象。你可以通過內(nèi)建函數(shù)id()來確認(rèn)對象的身份在兩次賦值前后發(fā)生了變化。
分類 Python 類型
可變類型 列表, 字典
不可變類型 數(shù)字、字符串、元組
訪問模型
盡管前面兩種模型分類方式在介紹Python 時(shí)都很有用,它們還不是區(qū)分?jǐn)?shù)據(jù)類型的首要模型。對這種目的,我們使用訪問模型。也就是說根據(jù)訪問我們存儲的數(shù)據(jù)的方式對數(shù)據(jù)類型進(jìn)行分類。在訪問模型中共有三種訪問方式:直接存取,順序,和映射。
分類 Python 類型
直接訪問 數(shù)字
順序訪問 字符串、列表、元組
映射訪問 字典
總結(jié)
以上是生活随笔為你收集整理的python语言中包含的标准数据类型_Python对象——标准类型的分类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PKU 学生的反馈 2009-1
- 下一篇: python transform方法_P