[譯]Python 語言參考-3.2. 標(biāo)準(zhǔn)類型層次(上)

說明:本系列文章翻譯自 Python 3.5.0 官方文檔Python 語言參考愕掏。

下面是一個 Python內(nèi)建類型的列表麻敌。擴(kuò)展模塊(使用 C, Java 或其他語言,根據(jù)執(zhí)行情況)可以定義額外的類型。未來的 Python 版本可能會在類型層次上添加新類型(例如:有理數(shù)蜓竹,高效存儲的整型數(shù)組,等)储藐,通常會以 Python 標(biāo)準(zhǔn)庫的形式提供俱济。

有寫類型的描述會包含一段“特殊屬性”的列表。這些都是提供訪問實現(xiàn)的屬性钙勃,而不作為一般用途蛛碌。將來它們的定義可能會改變。

None

此類型只有一個值辖源。只有一個對象擁有此值蔚携,這個對象可以通過內(nèi)建的名稱None訪問。多數(shù)情況下克饶,它標(biāo)識一個不存在的值酝蜒,例如:當(dāng)一個函數(shù)不明確返回任何值時,可以返回None矾湃。它的邏輯值是假亡脑。

NotImplemented

此類型只有一個值。只有一個對象擁有此值邀跃,這個對象可以通過內(nèi)建的名稱NotImplemented訪問霉咨。數(shù)值型方法和富比較方法如果不實現(xiàn)運算對象提供的運算應(yīng)該返回此值。(解釋器會基于操作符嘗試反射運算拍屑,或退卻[譯者注:計算機(jī)用語途戒,計算機(jī)在發(fā)生故障時,即使系統(tǒng)的一部分功能降低但仍能保持主要功能])僵驰。它的邏輯值是真喷斋。

詳細(xì)信息請查看算術(shù)運算符實現(xiàn)

省略號(Ellipsis)

此類型只有一個值裁蚁。只有一個對象擁有此值,這個對象可以通過...或內(nèi)建名稱Ellipsis訪問继准。它的邏輯值為真枉证。

numbers.Number

它們由數(shù)值型的字面值船艦,并以算術(shù)運算符和內(nèi)置算術(shù)函數(shù)作為返回結(jié)果移必。數(shù)值型對象是不可變的室谚;一旦被創(chuàng)建,它們的值就不會改變崔泵。Python 的數(shù)字和數(shù)學(xué)上的數(shù)字是強(qiáng)相關(guān)秒赤,但受限于計算機(jī)的呈現(xiàn)能力。

Python 有整數(shù)憎瘸,浮點數(shù)和復(fù)數(shù)三種數(shù)字類型

numbers.Integral

代表數(shù)學(xué)集合中的整數(shù)(包括整數(shù)和負(fù)數(shù))

有兩種整數(shù)類型:

整型(int)

整型表示無限大小的數(shù)字入篮,僅受限于可用的(虛擬)內(nèi)存。為了移位和掩碼操作幌甘,我們假設(shè)負(fù)數(shù)使用二進(jìn)制補(bǔ)碼的變種(一串無窮的左邊帶符號擴(kuò)展)表示潮售。

布爾型(bool)

布爾型表示值的真假。只有值為TrueFalse的對象才是布爾型锅风。布爾型是整型的了類型酥诽,它的值的行為類似于01,例外情況是皱埠,在幾乎所有的上下文環(huán)境中肮帐,當(dāng)把布爾型對象轉(zhuǎn)化為字符串時,會對應(yīng)的返回FalseTrue边器。

整型表示的原則是训枢,給予移位和掩碼操作(包括負(fù)數(shù))最有意義的解釋。

numbers.Real(float)

代表機(jī)器層雙精度浮點數(shù)忘巧。此值受基礎(chǔ)機(jī)器結(jié)構(gòu)(和 C 或 Java 的實現(xiàn))可接受范圍和溢出處理的約束恒界。Python 不支持單精度浮點數(shù);單精度在進(jìn)程和內(nèi)存使用上節(jié)省的空間被在 Python 中使用對象的開支抵消袋坑,所以沒有理由使用兩種精度讓 Python 變的復(fù)雜化仗处。

numbers.Complex(complex)

復(fù)數(shù)使用一對機(jī)器層雙精度浮點數(shù)表示眯勾,與浮點數(shù)的說明一致枣宫。復(fù)數(shù)z的實數(shù)和虛數(shù)部分可以通過z的兩個只讀屬性z.realz.imag訪問。

序列(Sequences)

序列表示使用非負(fù)整數(shù)做為索引的有序集合吃环。 內(nèi)建函數(shù)len()返回一個序列的元素個數(shù)也颤。如果一個序列的長度是n,它的索引包含0, 1, ..., n-1郁轻。序列a的第i個元素使用a[i]來獲取翅娶。

序列支持切片:如果索引用k表示文留,那么a[i:j]得到所有滿足i <= k < j的元素。當(dāng)用在表達(dá)式中時竭沫,切片也是一個同類型的序列燥翅。這意味著索引會從0開始重新編號。

一些序列通過第三個“步”參數(shù)支持“擴(kuò)展切片”:如果索引用x表示蜕提,a[i:j:k]得到所有滿足x = i + n*k, n >= 0i <= x < j的所有元素森书。

序列通過可變性區(qū)分:

不可變序列

一個不可變的序列類型對象一旦被創(chuàng)建就不能改變。(如果包含其他對象的引用谎势,這些對象可能是可變的并且可能會發(fā)生變化凛膏;然而,不變對象對這些對象的直接引用是不能改變的脏榆。[譯者注:看來作者也認(rèn)為這是個難點啊猖毫,文中反復(fù)強(qiáng)調(diào)這點~~[戳這里看3.1章中的講解](http://www.reibang.com/p/4e77bedc546e)有譯者的例子哦])

以下的類型都是不可變序列:

字符串

字符串代表一序列的 Unicode 碼位的值。所有在U+0000~U+10FFFF的碼位都可以表示字符串须喂。Python 沒有char類型吁断;在字符串中每一個碼位都代表一個長度為1的字符串。內(nèi)建函數(shù)ord()將字符串中的每個碼位轉(zhuǎn)換成整型坞生,取值范圍為0~10FFFF胯府;chr()一個取值范圍為0~10FFFF的整型轉(zhuǎn)換成長度為1的字符串。str.encode()使用指定編碼將一個str轉(zhuǎn)換成bytes恨胚,bytes.decode()可以實現(xiàn)相反操作骂因。

元組

元組中的元素可以是 Python 中的任意對象。兩個以上元素的元組由逗號分隔的表達(dá)式(expression赃泡,譯者注:之所以使用這個詞是因為同一個元組中可以存放各種類型的數(shù)據(jù)寒波,下同)列表組成。一個元素的元組由一個表達(dá)式后跟一個逗號組成(單獨的一個表達(dá)式不能創(chuàng)建一個元組升熊,因為圓括號必須用來組合表達(dá)式)俄烁。一個空的元組可以用一對圓括號表示。

位元組

位元組對象是一個不可變數(shù)組级野。它的元素占8位字節(jié)页屠,用0 <= x < 256范圍內(nèi)的整數(shù)表示。位元組字面值(比如:b'abc')和內(nèi)建函數(shù)bytes()可以用來創(chuàng)建位元組對象蓖柔。位元組對象也可以通過decode()方法解碼成字符串辰企。

可變序列

可變序列在被創(chuàng)建后可以改變。下標(biāo)和切片標(biāo)記可以被用于分配的目標(biāo)和del(delete)語句况鸣。

存在兩個固有的可以序列類型:

列表

列表的元素是任意的 Python 對象牢贸。列表由在方括號內(nèi)用逗號分隔的表達(dá)式組成。(0個和1個元素的列表不需要特殊操作镐捧。)

字節(jié)數(shù)組

字節(jié)數(shù)組是一個可變數(shù)組潜索。通過內(nèi)建函數(shù)bytearray()構(gòu)造器創(chuàng)建臭增。除了是一個可變類型,字節(jié)數(shù)組另外提供了和不可變位元組對象相同的接口和函數(shù)竹习,也因此誊抛,字節(jié)數(shù)組類型具的不可哈希性。

collections模塊一樣整陌,擴(kuò)展的array模塊提供了附加的可變序列類型的例子.

集合類型

表示無序的芍锚,元素唯一的不可變有限集合對象。它們不能使用下標(biāo)索引蔓榄。然而并炮,它們可以被迭代,內(nèi)建函數(shù)len()返回集合中的元素個數(shù)甥郑。集合常被用來全員測試逃魄,去重和數(shù)學(xué)上操作符運算(比如交集,并集澜搅,差分伍俘,對稱差分)。

集合中的元素和字典的鍵遵守一樣的不可變性規(guī)則勉躺。需要注意癌瘾,數(shù)字類型遵守數(shù)字比較的通用規(guī)則:兩個數(shù)字比較結(jié)果是相等(比如:11.0),它們中有一個會在集合中保留饵溅。

集合有兩種固有的類型:

集(Sets)

一個可變集合妨退。通過內(nèi)建函數(shù)set()構(gòu)造器創(chuàng)建,可以通過一些方法蜕企,例如add()咬荷,改變它。

凍結(jié)集(Frozen sets)

一個不可變集合轻掩。通過內(nèi)建函數(shù)frozenset()構(gòu)造器創(chuàng)建幸乒。由于它的不可變性和可哈希性,它可以被用作另一個集合的元素唇牧,或字典的鍵罕扎。

映射(Mapping)

表示被任意索引集合索引的有限對象集合。下標(biāo)a[k]獲取到映射a中被k索引的元素丐重;可以用在表達(dá)式中腔召,分配給目標(biāo)或者del語句。內(nèi)建函數(shù)len()返回該映射的元素個數(shù)弥臼。

映射中只有一種類型:

字典

字典表示被幾乎任意值索引的有限對象集合宴咧。只有一種類型的值不能作為字典的鍵:包含列表根灯,字典或其他可變類型的径缅,比較值而不是比較對象身份標(biāo)識的類型掺栅。因為字典的高效要求鍵的哈希值始終不變。數(shù)字類型作為鍵時遵守普通的數(shù)字比較規(guī)則:如果兩個數(shù)字的比較結(jié)果是相等(比如:11.0)纳猪,那么它們都可作為同一個字典內(nèi)容的索引氧卧。

字典是可變的;他們可以通過...符號創(chuàng)建(參考字典顯示章節(jié))氏堤。

collections模塊一樣沙绝,dbm.ndbmdbm.gnu擴(kuò)展模塊提供了映射類型附加的例子。

請繼續(xù)閱讀:[譯]Python 語言參考-3.2. 標(biāo)準(zhǔn)類型層次(下)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鼠锈,一起剝皮案震驚了整個濱河市闪檬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌购笆,老刑警劉巖粗悯,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異同欠,居然都是意外死亡样傍,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門铺遂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衫哥,“玉大人,你說我怎么就攤上這事襟锐〕贩辏” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵粮坞,是天一觀的道長笛质。 經(jīng)常有香客問我,道長捞蚂,這世上最難降的妖魔是什么妇押? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮姓迅,結(jié)果婚禮上敲霍,老公的妹妹穿的比我還像新娘。我一直安慰自己丁存,他們只是感情好肩杈,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著解寝,像睡著了一般扩然。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上聋伦,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天夫偶,我揣著相機(jī)與錄音界睁,去河邊找鬼。 笑死兵拢,一個胖子當(dāng)著我的面吹牛翻斟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播说铃,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼访惜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了腻扇?” 一聲冷哼從身側(cè)響起债热,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎幼苛,沒想到半個月后阳柔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蚓峦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年舌剂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片暑椰。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡霍转,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出一汽,到底是詐尸還是另有隱情避消,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布召夹,位于F島的核電站岩喷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏监憎。R本人自食惡果不足惜纱意,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鲸阔。 院中可真熱鬧偷霉,春花似錦、人聲如沸褐筛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渔扎。三九已至硫狞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背残吩。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工财忽, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人世剖。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓定罢,卻偏偏與公主長得像笤虫,于是被迫代替她去往敵國和親旁瘫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容