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