1、物件根據分類來共享操作;例如,字串、列表和元組都共享諸如合併、長度和索引等操作。
2、只有可變物件(列表、字典和集合)可以原處修改;我們不能原處修改數字、字串或元組。
3、檔案匯出唯一的方法,因此可變性並不真的適用於它們------當處理檔案的時候,它們的狀態可能會修改,但是,這與python的核心型別可變性限制不完全相同。
4、表1中的「數字」包含的所有數字型別:整數( 與python 2.6的整數有區別),浮點數、複數、小數和分數。
5、表1中的字串包括str,以及python 3.0中的bytes 和python 2.6中的unicode python 3.0中的bytearray字串型別是可變的。
6集合類似於乙個無值的字典的鍵,但是,它們不能對映為值,並且沒有順序;因此,集合不是乙個對映型別或者乙個序列型別,frozenset是集合的乙個不可變的版本。
7除了型別分類操作,表1中的python 2.6和python 3.0的所有型別都有可呼叫的方法、這些方法通常特定於它們的型別。
表1:物件分類
物件靈活性
。列表、字典和元組可以包含任何種類的物件
。列表、字典和元組可以任意巢狀
。列表和字典可以動態地擴大和縮小
引用vs拷貝
。沒有限制條件的分片表示式(l[:])能夠複製序列
。字典copy方法(x.copy())能夠複製字典
。有些內建函式(例如,list)能夠生成拷貝(list(l))
。copy標準庫模組能夠生成完整拷貝
比較、相等性和真值
* 「==」 操作符測試值的相等性
* 「is」 表示式測試物件的一致性
* 「>,
* 數字通過相對大小進行比較
* 字串是按照字典順序,乙個字元接乙個字元地進行比較("abc"< "ac")
* 列表和元組從左到右對每部分的內容進行比較
* 字典通過排序之後的 ( 鍵、值)列表進行比較。字典的相對大小比較在python 3.0中不支援,但是,它們在python 2.6及更早的版本有效,就像是比較排序的(鍵、值)列表一樣
* 數字混合型別比較(例如,1< 'spam')在python 3.0中是錯誤的。python 2.6中允許這樣比較,但是使用一種固定但任意的排序規則。通過**,這也適用於排序,它在內部使用比較:非數字的混合型別集合不能在python 3.0中排序
RTT之核心物件模型要點
雖然也操作的串列埠裝置,但要整體寫這個專案程式,還是感到無從下手,既然要把rtt掌握,那麼系統看一遍程式設計手冊,還是挺有必要的。之前也看過幾個部分,但沒有記錄,發現遺忘的特別快!核心物件管理架構 利用物件導向的思想 什麼容器,物件這些結構體,都在rtdef.h中定義。物件管理的基本操作涵義 初始化...
python物件型別 Python物件型別
因為python3.0與python2.x在語法等方面還是有一定的差別,而我的系統中裝的是python2.7,因此筆記基本已python2.7版本為主。python 中的變數是動態的,而非靜態的。意思就是說,在變數賦值之前無需進行變數型別的定義,賦給變數什麼型別,它就是什麼型別的。事實上,在pyth...
python核心程式設計 python物件
一 什麼是python物件 在python中,構造的任何型別的值都是乙個物件。比如乙個整數型別的值,乙個字串,乙個列表等,都可以看做是物件。所有的物件分為三部分 1 身份。每個物件都有個標識自己的id。可用內建函式id 檢視 2 型別。可用type 檢視 3 值。物件用來存放資料,當然其最主要的資料...