python 內建 Python3內建型別有哪些?

2021-10-19 20:25:18 字數 1690 閱讀 7309

摘要:python3目前已經成為主流,和版本2天壤之別,關於python3的內建型別你了解嗎?

本文將專注於直譯器支援的內建型別,基於版本3.9.1進行講解。

值得說明的是,在python中真值設定為1或true,假值設定為以下情況:none和false

任何數字型別的0

空序列或集合

本文將用type函式來測試資料型別。

numeric types(數字型別)

int(整形)

整形我們很小就接觸過,自然數這個概念應該小學的時候就明白了。而整數包含了自然數,不但有正整數和零,還有負整數。python中的int型別就是整數型別。

float(浮點型別)

從上圖可以發現,1.1並不是整數,沒錯,那麼返回的float型別是什麼呢?這個在python中成為浮點數,浮點數可以這樣理解,就是帶了小數點的數,同樣分為正、0、負這三個區間。

complex(複數型別)

學基礎數學的時候,我們學數這一章的時候,不但有實數還有複數對吧。無論是int還是float都只是實數,那麼作為一門程式語言是用來解決現實問題的。如果都不能準確描述現實問題,這門語言肯定設計有缺陷。python中用j或者j來表示複數,不過新手暫時不用接觸複數,這個需要一點數學基礎去理解。

iterator types(迭代型別)

迭代是python比較強大的功能之一,內建函式iter()用來獲取迭代物件,而內建方法__iter__()和__next__()用來生成可迭代的型別。

這裡用乙個例子來講解,方便理解。

可以看見,如果我們自定義乙個類,裡面沒有包含__iter__()和__next__()那麼這個物件不可迭代。而系統中有部分是可以迭代的類,我這裡用乙個列表做示範,讓大家明白迭代的意義。

sequence types(序列型別)

list(列表)

通俗的講,列表就是乙個可變順序的集合。

tuple(元組)

既然有了列表,為何還需要元組這個概念呢?元組和列表不都是乙個集合嗎?主要區別在於元組不可修改,用於不可變的集合。無論是元組還是列表,裡面的元素都可以重複,而真正的集合是不可以重複的!

range(範圍)

至於range就是在特定的情況下使用,因為它只代表了乙個數字序列,配合迴圈使用。range裡面只能填充數字,否則就會報錯。

text sequence type(文字序列型別)

binary sequence types(二進位制序列型別)

bytes和bytearray作為二進位制資料的基本儲存單位,屬於位元組資料。只能儲存ascii字元,不在ascii範圍內的需要進行轉義。區別在於bytearray可以修改,而bytes是不可變序列。將字串轉換為bytes只需要在字串前加乙個b,轉換成bytearray則需要使用bytearray()這個函式。二進位制序列型別還有乙個memoryview,作為新手暫時不用去了解關於記憶體的操作。

set type(集合型別)

set和frozenset都是集合的表現形式,把集合和上文的序列型別區分開來,主要是不可重複性。集合都是可迭代的,可以獲取iter物件。集合用{}來表示,序列型別都可以可以通過set()函式來進行轉換成集合,自動刪除重複的,值得注意的是字典型別轉換後的集合只有key,沒有value。至於fronzenset和set的差別就是它不可變。

大家前面應該會很納悶,為什麼字典型別dict沒有在序列型別裡面?因為dict在python中屬於對映型別,也是唯一的對映型別。字典是鍵值用冒號配對的組合,由逗號分割。

python3內建方法

本文大部分內容來自 主要內容為python3中的內建函式,可以通過命令 dir builtins 進行查詢 對於具體某個內建函式可以通過命令 help 函式名 檢視其功能和具體用法。內建函式 abs 對傳入引數取絕對值 bool 對傳入引數取布林值,none,0,這些引數傳入bool後,返回fals...

Python3內建函式

1 兩個列表可以相加 collections.counter計數器,計算列表中每項出現的次數,並返回字典型別,其中元素作為key,其計數作為value。當所訪問的鍵不存在時,返回0,而不是keyerror 否則返回它的計數。其中負號表示降序 預設公升序 與reverse true相同 4 數值的除法...

Python3 內建函式

返回乙個數的絕對值。實參可以是整數或浮點數。如果實參是乙個複數,返回它的模。返回 x 的 y 次冪 如果 z 存在,則對 z 取餘 比直接pow x,y z計算更高效 兩個引數形式的pow x,y 等價於冪運算子 x y。引數必須為數值型別。對於混用的運算元型別,則適用二元算術運算子的型別強制轉換規...