Python的數(shù)據(jù)類型
大家好,今天要跟大家分享的是Python的數(shù)據(jù)類型。在數(shù)據(jù)時代要用計算機解決問題,首先要把問題表述為計算機能處理的形式。因為現(xiàn)實世界中的萬事萬物都蘊含著紛繁復(fù)雜的內(nèi)容,而我們只關(guān)注這些事物與所要求解問題相關(guān)的一些性質(zhì),表述其中關(guān)鍵的部分。
?
什么是數(shù)據(jù)?
“數(shù)據(jù)”這個詞對我們來說并不陌生,但是到底什么叫“數(shù)據(jù)”呢?數(shù)據(jù)(data)是信息的表現(xiàn)形式和載體,是對現(xiàn)實世界實體和概念的抽象。比如:學(xué)生信息表,描述了一個學(xué)生各方面的屬性。
?
| 姓名 | Bob |
| 性別 | 男 |
| 學(xué)號 | 2020193 |
| 年齡 | 20 |
| 入學(xué)日期 | 2020年09月01日 |
| 照片 |
|
?什么是“大數(shù)據(jù)”?
??1.大量(Volume)
??2.高速(Velocity)
??3.多樣(Variety)
??4.低價值密度(Value)
? ? ? ?? 5.真實性(Veracity)

?計算機處理的數(shù)據(jù)越來越多,數(shù)據(jù)獲取手段空前增多,人類開始廣泛收集數(shù)據(jù),Python語言因其優(yōu)點,成為了最熱門的大數(shù)據(jù)分析處理語言。
?
多種多樣的數(shù)據(jù)類型
1.描述事物大小、次序的數(shù)值類型,如:
>>> 10 * 21 + 35.5
245.5
2.描述事物各方面特性的文本字符串類型,如:
>>> (‘a(chǎn)bc’ +‘123’) * 3
‘a(chǎn)bc123abc123abc123’
3.描述事物時間屬性的日期時間類型等,如:?
>>> import math
>>> math.sqrt(9)
3
4.每種數(shù)據(jù)類型都有自己的獨特的運算,如:
type用來查看類型 ??????????????????????????????????????
>>> type(2.4)????????????????????????????????????
5.復(fù)雜數(shù)據(jù)類型,如:圖形、圖像、音頻、視頻。
?
對數(shù)據(jù)進(jìn)行組織
對大量的數(shù)據(jù)進(jìn)行處理的時候,需要建立各種各樣的數(shù)據(jù)組織,以便提高計算效率。組織方式:
1.沒有組織
2.順序組織數(shù)據(jù)
3.標(biāo)簽式組織數(shù)據(jù)
?
Python數(shù)據(jù)類型
1.簡單類型用來表示值:整數(shù)int、浮點數(shù)float、復(fù)數(shù)complex、邏輯值bool、字符串str
2.容器類型用來組織這些值:列表list、元組tuple、集合set、字典dict
數(shù)據(jù)類型之間幾乎都可以轉(zhuǎn)換
?
Python數(shù)據(jù)類型概覽

Python數(shù)據(jù)類型:整數(shù)int、浮點數(shù)float
整數(shù)最大的特點是不限制大小,浮點數(shù)受到17位有效數(shù)字的限制(IEEE 754標(biāo)準(zhǔn)),常見的運算包括加、減、乘、除、整除、求余、冪指數(shù)等,浮點數(shù)的操作也差不多,判斷相等要特別注意。一些常用的數(shù)學(xué)函數(shù)如sqrt/sin/cos等都在math模塊中,import math,math.sqrt(2)。

整數(shù)的進(jìn)制:用幾個符號表示數(shù)?

可以用各種進(jìn)制表示整數(shù),也可以轉(zhuǎn)為字符串str(),bin(), oct(), hex()。浮點數(shù)可以轉(zhuǎn)為十六進(jìn)制float.hex()。
?
浮點數(shù)的精度問題
計算機內(nèi)部用二進(jìn)制保存數(shù)值,十進(jìn)制的有限小數(shù)轉(zhuǎn)為二進(jìn)制可能變成無限循環(huán)小數(shù), (0.1)10=(0.000110011001…),四舍五入將產(chǎn)生誤差。浮點數(shù)判斷相等不能簡單用相等關(guān)系符判斷,可以視數(shù)值取小數(shù)點后固定位數(shù)進(jìn)行四舍五入再判斷相等,如:
>>> 0.2 + 0.1
0.30000000000000004
>>> 0.2 + 0.1 ==0.3
False
>>> round(0.2 +0.1, 10) == round(0.3, 10)
True
>>>?
?
數(shù)值常見的運算和比較

比較和連續(xù)比較,都是表達(dá)式;表達(dá)式的值True/False是表示“真假對錯”的數(shù)據(jù)對象。如:
>>> 10 > 2>= 2
True
>>> 12 < 26< 25
False
>>> m,n = 4,8
>>> 1 <= m
True
?
Python數(shù)據(jù)類型:復(fù)數(shù)
1.Python內(nèi)置復(fù)數(shù)類型:
2.支持所有常見的復(fù)數(shù)計算:abs函數(shù)支持復(fù)數(shù)取模運算,如:
>>> abs(1 + 2j)
2.23404797749979
3.對復(fù)數(shù)處理的數(shù)學(xué)函數(shù)在模塊cmath中:
import cmath,cmath.sqrt(1+2j)
?
復(fù)數(shù)的形式轉(zhuǎn)換

練一練
以京東商城為例,對手機、鞋子或者商品評價,3選1,進(jìn)行數(shù)據(jù)分析。指出若干項以上的數(shù)據(jù)項;指出這些數(shù)據(jù)項對應(yīng)的數(shù)據(jù)類型。請以文本方式列出這些數(shù)據(jù)項的名稱,數(shù)據(jù)類型和示例值。如:

《數(shù)據(jù)科學(xué)與人工智能》公眾號推薦朋友們學(xué)習(xí)和使用Python語言,需要加入Python語言群的,請掃碼加我個人微信,備注【姓名-Python群】,我誠邀你入群,大家學(xué)習(xí)和分享。
關(guān)于Python語言,有任何問題或者想法,請留言或者加群討論。

