官术网_书友最值得收藏!

2.1 Python數(shù)據(jù)類(lèi)型

2.1.1 數(shù)值(Number)

Python中的數(shù)值類(lèi)型用于存儲(chǔ)數(shù)值,主要有整數(shù)類(lèi)型(int)和浮點(diǎn)型(float)兩種。需要注意的是,數(shù)值類(lèi)型變量的值是不允許被改變的,如果改變數(shù)值類(lèi)型變量的值,則會(huì)重新分配內(nèi)存空間。例如,數(shù)據(jù)分析師小王統(tǒng)計(jì)匯總今天商品總的訂單量是899件,輸入代碼如下:

img

但是,領(lǐng)導(dǎo)需要的不是總的訂單量,而是商品的有效訂單量。由于還有部分客戶(hù)購(gòu)買(mǎi)商品后又進(jìn)行了退單(共計(jì)8件退單),因此需要減去8件退單,輸入有效訂單量的代碼如下:

img

運(yùn)行上述代碼后,現(xiàn)在變量order_volume的數(shù)值就是有效商品的訂單量891件,而不再是前面輸入的899件,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

Python中有豐富的函數(shù),包括數(shù)學(xué)函數(shù)、隨機(jī)數(shù)函數(shù)、三角函數(shù)等,表2-1列舉了一些常用的數(shù)學(xué)函數(shù)。

表2-1 常用的數(shù)學(xué)函數(shù)

img

下面通過(guò)案例介紹數(shù)學(xué)函數(shù)的用法,例如,我們要返回?cái)?shù)值-12.439的整數(shù)部分和小數(shù)部分。Python數(shù)學(xué)運(yùn)算的常用函數(shù)基本都在math模塊中,因此首先需要導(dǎo)入math模塊,然后使用modf()函數(shù)提取整數(shù)部分和小數(shù)部分。

通過(guò)下面代碼可以看出:-12.439的小數(shù)部分是-0.43900000000000006,整數(shù)部分是-12.0。

img

代碼輸出結(jié)果如下所示。

img

注意:這里小數(shù)部分不是-0.439。這是由于Python默認(rèn)的是數(shù)值計(jì)算,而不是符號(hào)計(jì)算,其中數(shù)值計(jì)算是近似計(jì)算,而符號(hào)計(jì)算則是絕對(duì)精確的計(jì)算,這里就不再詳細(xì)介紹兩者之間的差異,如果讀者想深入了解,那么可以查閱相關(guān)的資料。

2.1.2 字符串(String)

字符串是Python最常用的數(shù)據(jù)類(lèi)型。我們可以使用英文輸入法下的單引號(hào)('')或雙引號(hào)("")來(lái)創(chuàng)建字符串,字符串可以是英文、中文或中文英文的混合。例如,創(chuàng)建兩個(gè)字符串str1和str2,代碼如下:

img

查看字符串str1,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

查看字符串str2,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

在Python中,可以通過(guò)“+”實(shí)現(xiàn)字符串之間的拼接,輸入以下代碼:

img

查看字符串str3,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

在字符串中,我們可以通過(guò)索引獲取字符串中的字符,遵循“左閉右開(kāi)”的原則。需要注意的是,索引是從0開(kāi)始的。例如,截取字符串str1的前5個(gè)字符,代碼如下:

img

或者

img

代碼輸出結(jié)果如下所示。

img

我們可以看出,程序輸出字符串str1中的前5個(gè)字符“Hello”,索引分別對(duì)應(yīng)0、1、2、3、4。原字符串中每個(gè)字符所對(duì)應(yīng)的索引號(hào)如表2-2所示。

表2-2 字符串索引號(hào)

img

此外,還可以使用反向索引,實(shí)現(xiàn)上述同樣的需求,但是索引位置會(huì)有變化,分別對(duì)應(yīng)-13、-12、-11、-10、-9,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

同理,我們也可以截取原字符串中的“Python”子字符串,索引的位置是6~12(包含6但不包含12),代碼如下:

img

代碼輸出結(jié)果如下所示。

img

Python提供了方便靈活的字符串運(yùn)算,表2-3列出了可以用于字符串運(yùn)算的運(yùn)算符。

表2-3 字符串運(yùn)算符

img

續(xù)表

img

下面以成員運(yùn)算符為例介紹字符串運(yùn)算符。例如,我們需要判斷“Python”是否在字符串變量str1中,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

輸出結(jié)果為T(mén)rue,即“Python”在字符串變量str1中,如果不存在則輸出結(jié)果為False。

2.1.3 列表(List)

列表是最常用的Python數(shù)據(jù)類(lèi)型,使用方括號(hào)表示,數(shù)據(jù)項(xiàng)之間使用逗號(hào)分隔。注意列表中的數(shù)據(jù)項(xiàng)不需要具有相同的類(lèi)型。例如,創(chuàng)建3個(gè)企業(yè)商品有效訂單的列表,代碼如下:

img

運(yùn)行上述代碼創(chuàng)建3個(gè)列表,查看列表list1,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

查看列表list2,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

查看列表list3,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

列表的索引與字符串的索引一樣,也是從0開(kāi)始的,也可以進(jìn)行截取、組合等操作。例如,我們從列表list3中截取索引從1到3,但不包含索引為3的字符串,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

可以對(duì)列表的數(shù)據(jù)項(xiàng)進(jìn)行修改或更新,首先查看索引為1位置的數(shù)值,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

然后修改列表list1中索引為1位置的數(shù)值,如將其修改為“2019年”,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

可以使用del語(yǔ)句來(lái)刪除列表中的元素,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

也可以使用append()方法在尾部添加列表項(xiàng),代碼如下:

img

代碼輸出結(jié)果如下所示。

img

此外,還可以使用insert()方法在中間添加列表項(xiàng),代碼如下:

img

代碼輸出結(jié)果如下所示。

img

2.1.4 元組(Tuple)

Python 的元組與列表類(lèi)似,不同之處在于元組的元素不能被修改。需要注意的是,元組使用的是括號(hào),而列表使用的是方括號(hào)。創(chuàng)建元組很簡(jiǎn)單,只需要在括號(hào)中添加元素,并使用逗號(hào)隔開(kāi)即可。例如,創(chuàng)建3個(gè)企業(yè)商品有效訂單的元組,代碼如下:

img

運(yùn)行上述代碼創(chuàng)建3個(gè)元組,查看元組tup1,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

查看元組tup2,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

查看元組tup3,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

當(dāng)元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào),代碼如下:

img

代碼輸出結(jié)果如下所示。

img

否則括號(hào)會(huì)被當(dāng)作運(yùn)算符使用,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

元組的索引與字符串的索引一樣,也是從0開(kāi)始的,也可以進(jìn)行截取、組合等操作。例如,我們從元組tup3中截取索引從1到3,但不包含索引為3的元素,代碼如下:

img

代碼輸出結(jié)果如下。

img

在Python中,也可以通過(guò)“+”實(shí)現(xiàn)對(duì)元組的連接,運(yùn)算后會(huì)生成一個(gè)新的元組,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

元組中的元素是不允許被修改和刪除的。例如,修改元組tup6中第4個(gè)元素的數(shù)值,代碼如下:

img

運(yùn)行上述代碼,錯(cuò)誤信息如下所示。

img

2.1.5 集合(Set)

集合是一個(gè)無(wú)序的不重復(fù)元素序列,可以使用花括號(hào)“{}”或set( )函數(shù)創(chuàng)建。需要注意的是,創(chuàng)建一個(gè)空集合,必須使用set( )函數(shù),因?yàn)榛ɡㄌ?hào)“{ }”是用來(lái)創(chuàng)建一個(gè)空字典的。創(chuàng)建集合的語(yǔ)法格式如下:

img

或者

img

下面以客戶(hù)購(gòu)買(mǎi)商品為例介紹集合的去重功能。假設(shè)某客戶(hù)在10月購(gòu)買(mǎi)了6次商品,分別是紙張、椅子、器具、配件、收納具、配件,這里有重復(fù)的商品,我們可以借助集合刪除重復(fù)值,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

運(yùn)行上述代碼,可以看出已經(jīng)刪除了重復(fù)值,只保留了5種不同類(lèi)型的商品名稱(chēng)。

同理,該客戶(hù)在11月購(gòu)買(mǎi)了4次商品,分別是裝訂機(jī)、椅子、器具、配件,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

可以快速判斷某個(gè)元素是否在某個(gè)集合中。例如,判斷該客戶(hù)在10月是否購(gòu)買(mǎi)了“配件”,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

此外,Python中的集合與數(shù)學(xué)上的集合概念基本類(lèi)似,也有交集、并集、差集和補(bǔ)集,集合之間關(guān)系的思維圖如圖2-1所示。

img

圖2-1 集合之間關(guān)系的思維圖

集合的交集。例如,統(tǒng)計(jì)該客戶(hù)在10月和11月所購(gòu)買(mǎi)的重復(fù)商品,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

集合的并集。例如,統(tǒng)計(jì)該客戶(hù)在10月和11月購(gòu)買(mǎi)的所有商品,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

集合的差集。例如,統(tǒng)計(jì)該客戶(hù)在10月和11月所購(gòu)買(mǎi)的不重復(fù)商品,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

集合的補(bǔ)集。例如,統(tǒng)計(jì)該客戶(hù)在10月購(gòu)買(mǎi),而在11月沒(méi)有購(gòu)買(mǎi)的商品,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

2.1.6 字典(Dictionary)

字典是另一種可變?nèi)萜髂P停⑶铱梢源鎯?chǔ)任意類(lèi)型對(duì)象。字典的每個(gè)“鍵”和“值”用冒號(hào)分隔,每個(gè)“鍵-值”對(duì)之間用逗號(hào)分隔,整個(gè)字典包括在花括號(hào)中,語(yǔ)法格式如下:

img

需要注意的是,“鍵-值”對(duì)中的鍵必須是唯一的,但是值可以不是唯一的,且數(shù)值可以取任何數(shù)據(jù)類(lèi)型,但鍵必須是不可變的,如字符串或數(shù)字,代碼如下:

img

運(yùn)行上述代碼,創(chuàng)建3個(gè)字典,查看字典dict1,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

查看字典dict2,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

查看字典dict3,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

在Python中訪(fǎng)問(wèn)字典里的值時(shí),要把相應(yīng)的鍵放入方括號(hào)中。例如,讀取字典dict3中鍵為“order_north”的值,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

在Python中,如果字典里沒(méi)有該鍵就會(huì)報(bào)錯(cuò),代碼如下:

img

輸出錯(cuò)誤信息如下所示。

img

在Python中,向字典添加新內(nèi)容的方法是增加新的“鍵-值”對(duì),修改已有“鍵-值”對(duì),例如,向字典dict2中添加鍵“order_sales”,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

在Python中,既能夠刪除字典中的單一元素,也能夠清空和刪除字典。例如,首先刪除字典dict2中的鍵“2020”,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

然后清空字典dict2,代碼如下:

img

代碼輸出結(jié)果如下所示。

img

最后刪除字典dict2,并查看字典dict2,代碼如下:

img

代碼輸出結(jié)果如下所示,會(huì)報(bào)錯(cuò)提示字典沒(méi)有被定義。

img
主站蜘蛛池模板: 乌拉特后旗| 洞头县| 特克斯县| 突泉县| 台江县| 新沂市| 鄂托克前旗| 盖州市| 视频| 丹凤县| 扎囊县| 柘城县| 安徽省| 文昌市| 虎林市| 绥阳县| 寿阳县| 莎车县| 金坛市| 天全县| 三明市| 达尔| 邳州市| 石嘴山市| 铜梁县| 元氏县| 钟山县| 措美县| 天气| 平遥县| 育儿| 漳平市| 岱山县| 卢龙县| 桂林市| 萨迦县| 乌苏市| 嘉义市| 明星| 高清| 德钦县|