python3中到底有幾類數據類型?

python3中貌似只有6種數據類型(字元串,數字,列表,字典,元組,集合),但是最近學到了類這章,

1由「類」實例化產生的一個「實例」是否也算是一類數據類型?

2二元數組,布爾值,複數 這三個東西是否也算是數據類型?

多謝!


語言內置的數據類型,多用原生演算法,效率高,python的數據類型藉助了c語言的數據類型概念,是面向過程程序設計的基礎,由於python腳本的動態性,這種數據類型被淡化了,編譯器上會對這種類型做速度優化,在某些編譯器上會對這種類型有大量優化,如pypy。

面象對象是java,c++這類oop語言發展起來的,萬物皆對象,對象由類生成,類在oop中經常做為編程代碼塊封裝與函數返回值,和基本數據類型有一定區別更加重量級,在編譯器的優化支持上也沒有基礎數據類型好。

二元數組中是一元數組多了一個元,數組可以定義為各類數據類型包括類,布爾值常用於條件判斷是基礎數據類型,複數是數學概念和程序沒有關係,表示複數的方法很多,常見的有數學上的三種坐標法,三角法,指數法。


list: 鏈表, 有序的項目, 通過索引進行查找, 使用方括弧"[]"

dict: 字典, 字典是一組鍵(key)和值(value)的組合, 通過鍵(key)進行查找, 沒有順序, 使用大括弧"{}"

str:字元串,用單或雙引號括起來表示字元串

tuple: 元組, 元組將多樣的對象集合到一起, 不能修改, 通過索引進行查找, 使用括弧"()"

set: 集合,無序, 元素只出現一次, 使用"set([])",可實現列錶快速去重,不過注意返回的是一個集合

int: 整數,如3

float:浮點數,如2.3

complex:複數,如complex(1,2) =&> 1+2j

可迭代(遍歷)對象:list、dict、tuple、set、str

可變類型:list、dict、set,其餘為不可變類型

list、tuple、str可通過索引獲取當中的元素

2 set不支持索引查找,因為數據只出現一次, 它只關心數據是否出現, 不關心其位置


數據類型,請看

8. Data Types - Python 3.6.5 documentation?

docs.python.org

1、由「類」實例化產生的一個「實例」是否也算是一類數據類型?

答: 類可以看成自定義數據類型的機制,實例數據類型是它的類。

2、二元數組,布爾值,複數 這三個東西是否也算是數據類型?

答:二元數組,布爾值 、具體的複數是它對應的類型的對象。

Python 中一切都是對象,可以用type() 看對象的數據類型。


首先,回答你,你說的都是數據類型。 不僅僅是這些,還有什麼迭代器,生成器,可迭代對象,

類文件類型,等等都是數據類型。 學到後面就能接觸越來越多。 可以使用type()進行查看對象所屬的類型。

我也是正在學習,下面附上我的專欄,一起學習呀

學習筆記欄目的專欄:https://zhuanlan.zhihu.com/c_168651826
演算法刷題的專欄:https://zhuanlan.zhihu.com/c_185534109


推薦閱讀:

Leetcodes Solutions 22 Generate Parentheses
一個鮮為人知的 Python 的 For 語句小技巧
編程的思考 其一
大佬,我代碼哪錯了?
一則Python小Trick[編程的日常]

TAG:Python | 編程 | Python3x | Python入門 |