python语言中包含的标准数据类型_python标准数据类型(笔记一)
關(guān)于python,它是一種解釋型,面對(duì)對(duì)象,帶有動(dòng)態(tài)語義的高級(jí)程序設(shè)計(jì)語言。
之前學(xué)習(xí)python的時(shí)候,簡(jiǎn)單的將python的基礎(chǔ)內(nèi)容過了一遍,然后在工作中需要用到什么就相應(yīng)的去加深某一模塊的需求以及應(yīng)用,總覺得基礎(chǔ)不夠扎實(shí),所以打算把python的基礎(chǔ)知識(shí)重新過一遍,然后做相關(guān)的筆記,讓自己能夠印象更深刻一些。
為了提升自己的技能,學(xué)習(xí)一門語言尤為重要,在眾程語言中,python可謂是比較容易上手,且功能相對(duì)強(qiáng)大的一門語言。而且其在跨平臺(tái)工作有很好的的實(shí)現(xiàn)(window,linux,mac...),所以python于我而言是相當(dāng)合適一門語言?;谧陨淼臏y(cè)試工作,可能更加偏向的是用python做自動(dòng)化接口測(cè)試,或者是結(jié)合python+selenium做一些頁(yè)面的操作,或是一些日常工作中需要用到的小工具,BUG數(shù)據(jù)分析等。
關(guān)于選擇Python的 編輯器,其實(shí)一開始我是用python自帶的編輯器,這個(gè)編輯器比較小巧,入門級(jí)別的小練習(xí)是可以支撐使用的,可是隨著深入學(xué)習(xí),你需要寫一些小工具,或者框架的時(shí)候,這個(gè)IDE相對(duì)來說就沒有那么智能好用,后來我又用了pycharm的社區(qū)版本,Pycharm的功能比較強(qiáng)大,調(diào)試等各種功能都比較好用,就是啟動(dòng)的時(shí)候比較慢。
一、python標(biāo)準(zhǔn)數(shù)據(jù)類型 (數(shù),字符串,列表,元組,字典)
1、數(shù):(長(zhǎng))整形,浮點(diǎn)型,復(fù)數(shù)型
1.1 、整形和長(zhǎng)整型沒有嚴(yán)格區(qū)分,整形值后面添加“L”即為長(zhǎng)整型 (python3.x中沒有l(wèi)ong類型,整數(shù)都為int型,其行為模式與python2.x的long差不多)
1.2、浮點(diǎn)型即為數(shù)學(xué)中的實(shí)數(shù),可以類似科學(xué)計(jì)數(shù)法表示 如:2.3 或者 2.3E4.E標(biāo)記表示10的冪次方。2.3E4表示2.3 * (10的四次方)
1.3、實(shí)數(shù)+虛數(shù)就是復(fù)數(shù),虛部必須帶有j 比如: (6.4+8.9j) ,(6j).復(fù)數(shù)=-3+5j 復(fù)數(shù)可以分離實(shí)部和虛部 (復(fù)數(shù).real=-3;復(fù)數(shù).imag=j),復(fù)數(shù)的共軛為(復(fù)數(shù).conjugate()=-3-5j)
2、字符串:
2.1、字符串:'#';"#";'''#''';單引號(hào),雙引號(hào),三引號(hào)中的#都為字符串,字符串為不可變的類型 (python中沒有專門的char 數(shù)據(jù)類型)
單引號(hào)與雙引號(hào)并沒有什么不同,都是表示里面的內(nèi)容為字符串
2.2.轉(zhuǎn)義符
在字符串中需要應(yīng)用一個(gè)單引號(hào):'I'm a girl' 不能直接這樣用,需要指明單引號(hào)不是字符串的結(jié)尾:' I\'m a girl ' 或者利用雙引號(hào):“ I'm a girl ”
在字符串中,行末單獨(dú)加一個(gè)反斜杠表示字符串在下一行繼續(xù)進(jìn)行,而不是一個(gè)新的行
2.3、自然字符串
指示不需要如轉(zhuǎn)義符那樣的特別處理的字符串,可以指定一個(gè)自然字符串:通過加上前綴r或者R來指定:如:r“This is a book\n”
2.4、unicode字符串
unicode是書寫國(guó)際文本的標(biāo)準(zhǔn)方法,python允許處理unicode文本,需要在字符串前加上前綴u或者U 。如:u“This is a Unicode string”
2.5、按字面意義級(jí)連字符串
把兩個(gè)字符串按字面意義相鄰放著,他們會(huì)被Python自動(dòng)級(jí)連。例如,'W hat\'s''your nam e?'會(huì)被自動(dòng)轉(zhuǎn)為"W hat's your nam e?"
2.6、獲取字符串的方法可以應(yīng)用下標(biāo)索引(從0開始,可為正,可為負(fù)),即為切片的方式進(jìn)行字符串的提取s= [頭下標(biāo):尾下標(biāo)] (獲取的子字符串包含頭下標(biāo)的字符,但不包含尾下標(biāo)的字符)
加號(hào)(+)是字符串連接運(yùn)算符,星號(hào)(*)是重復(fù)操作
2.7、字符串的方法
3、列表
3.1、List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型。列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。
3.2、列表用[ ] (方括號(hào))標(biāo)識(shí),是 python 最通用的復(fù)合數(shù)據(jù)類型。列表中值的切割也可以用到變量 [頭下標(biāo):尾下標(biāo)] ,就可以截取相應(yīng)的列表,從左到右索引默認(rèn) 0 開始,從右到左索引默認(rèn) -1 開始,下標(biāo)可以為空表示取到頭或尾
3.3、加號(hào) + 是列表連接運(yùn)算符,星號(hào) * 是重復(fù)操作
#!/usr/bin/python#-*- coding: UTF-8 -*-
list=['hello','world','2020','01']
list01=['happy','2020']print(list) #輸出完整字符串
print(list[0]) #輸出字符串中的第一個(gè)字符
print(list[1:2]) #輸出字符串中第三個(gè)至第六個(gè)之間的字符串
print(list[2:]) #輸出從第三個(gè)字符開始的字符串
print(list01 * 2) #輸出字符串兩次
print(list+list01) #輸出連接的字符串
View Code
3.4、常用的列表的方法 (增,山,查,改,排序,變換)
3.4.1、添加新元素:
list.append() #在list 末尾添加一個(gè)元素
list.insert(n,'hello') #在指定位置添加元素,如果指定位置不存在,那么就在末尾添加
list1.extend(list2) #合并兩個(gè)list,list2中仍有元素
3.4.2、查看列表中的值
print(list) 遍歷打印列表的值,相當(dāng)于(print(i) for i in list)
list[n] 使用下標(biāo)索引來訪問列表中的值
list.count(XX) 查看某個(gè)元素在這個(gè)列表中的個(gè)數(shù)。如果元素不存在,則返回0 ,結(jié)合集合,可快速遍歷列表中每一個(gè)字符的個(gè)數(shù)(這個(gè)對(duì)于統(tǒng)計(jì)數(shù)據(jù)的次數(shù)很好用:比如統(tǒng)計(jì)當(dāng)前BUG分配到每一個(gè)人的個(gè)數(shù))
list.index(XX) 找到某個(gè)元素的下標(biāo),如果存在多個(gè),則返回第一個(gè)。如果元素不存在會(huì)報(bào)錯(cuò)
3.4.3、排序問題
list.reverse() 反轉(zhuǎn)列表
list.sort() 默認(rèn)升序排序 (list.sort(reverse=True) 降序排序 )
排序只針對(duì)同類型排序,如果列表中存在多種數(shù)據(jù)類型,不能進(jìn)行排序
3.4.4、列表操作函數(shù)
len(list) 計(jì)算列表中的元素的個(gè)數(shù)
list(元組) 元組轉(zhuǎn)換為列表
min(list) 返回列表中元素最小的值
max(list) 返回列表中元素最大的值
enumerate 打印元素對(duì)應(yīng)的下標(biāo) (返回的是一個(gè)列表(“index”,“value”))
3.4.5、刪除list中的元素
list.pop() 刪除最后一個(gè)元素
list.pop(n) 刪除某個(gè)下標(biāo)的元素,該下標(biāo)元素不存在,報(bào)錯(cuò)
list.remove(XX) 移除列表中的元素,存在多個(gè)一樣的元素,移除第一個(gè)
del list[n] 刪除某個(gè)下標(biāo)的元素
del list 刪除整個(gè)列表,刪除后列表不能再次訪問
3.4.6、列表推導(dǎo)式
python中列表推導(dǎo)式用于使用其他列表創(chuàng)建一個(gè)新列表
其基本形式為: [表達(dá)式 for 變量 in 列表] 如:print(i) for i in list
也可以對(duì)原列表進(jìn)行變換,篩選: [表達(dá)式 for 變量 in 列表 if判斷篩選語句] 如:example = [print(i**2) for i in range(1,11) if i%2 == 0 ]
嵌套列表,構(gòu)造二維數(shù)組等:[表達(dá)式 for 變量 in 列表 for 變量 in 列表 ]
#!/usr/bin/python#-*- coding: UTF-8 -*-
list01= [1,2,3]
list02= [print(i,j) for i in list01 for j in list01]
View Code
以及對(duì)多重嵌套的list進(jìn)行變換篩選。[表達(dá)式 for 變量 in 列表 for 變量 in 列表 if判斷篩選語句]
#!/usr/bin/python#-*- coding: UTF-8 -*-
list01= [[1,2,3],[4,5,6],[7,8,9],[10]]
list02= [print(j**2) for i in list01 for j in i if j%2 == 0]
View Code
4、元組
元組的訪問和列表相同,可以直接使用下標(biāo)索引訪問元組中的單個(gè)數(shù)據(jù)項(xiàng),也可以使用截取運(yùn)算符訪問子元組。訪問運(yùn)算符包括“[]”和“[:]”運(yùn)算符,用于訪問元組中的單個(gè)數(shù)據(jù)項(xiàng),或者一個(gè)子元組。
元組的遍歷方式和列表相同,都是應(yīng)用for循環(huán)語句遍歷元組的元素。
4.1、元組和列表類似,不同之處是元組的元素不能修改,元組使用小括號(hào)(),由于元組的不可修改特性,用于列表的排序、替換、添加等方法,在元組中不能使用,適用于元組的主要運(yùn)算有元組的合并、遍歷、求元組的最大值和最小值等操作方法。
4.2、元組中只有一個(gè)元素時(shí),元素后面需要添加逗號(hào),否則括號(hào)會(huì)被當(dāng)成運(yùn)算符使用 tuple(1,)
4.3、元組可以使用下標(biāo)索引,訪問元組中的元素,與字符串類似,下標(biāo)從0開始,可以使用切片組合 ,如:tuple[:]
4.4、元組里面的元素值不允許修改,可是元組之間可以進(jìn)行連接組合,如:tup3=tup2+tup1 (創(chuàng)建一個(gè)新的元組,又1和2兩個(gè)元組組成) --合并元組
4.4、元組里面的元素不可單獨(dú)刪除,元組可整個(gè)刪除 ,如:del tup3;
4.5、元組中的內(nèi)置函數(shù):len();max();min();tuple(seq)--將列表轉(zhuǎn)換為元組
4.6、元組是不可更改,可以通過構(gòu)造新元組替換舊元組,來實(shí)現(xiàn)元素的插入與刪除
5、字典
5.1、字典是可變的,可以存儲(chǔ)任意類型的對(duì)象
5.2、表達(dá)形式:如:data={key:value,key2:value2} 注意:鍵key必須是唯一的(創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住),值可以重復(fù)
5.3、如何訪問字典里面值,通過鍵作為索引,如:print(data['key']) -- 打印出來的就是value
5.4、修改字典內(nèi)容
#!/usr/bin/env python3#-*- coding: utf-8 -*-
data={'english':89,'math':100}#修改內(nèi)容
data['english']= 90
#添加內(nèi)容
data['Name'] = "xiaoli"
View Code
5.5、刪除字典元素
#!/usr/bin/env python3#-*- coding: utf-8 -*-
data={'english':89,'math':'100'}#刪除單一元素
del data['english']#清空字典的內(nèi)容
data.clear()#刪除字典
del data
View Code
5.6、鍵為不可變的,所以不能應(yīng)用列表作為鍵,可用字符串,數(shù)字,或者是元組
5.7、字典內(nèi)置函數(shù):len();str();type()
5.8、字典內(nèi)置方法:
5.8.1、radiansdict.clear() #刪除字典內(nèi)所有元素
5.8.2、radiansdict.copy() #返回一個(gè)字典的淺復(fù)制
5.8.3、radiansdict.fromkeys() #創(chuàng)建一個(gè)新字典,以序列seq中的元素做字典的鍵,val為字典所有鍵對(duì)應(yīng)的初始值
5.8.4、radiansdict.get(key,default=None) #返回指定鍵的值,如果值不在幾點(diǎn)鐘返回default
5.8.5、key in dict #查詢鍵是否在字典中,存在返回true,不存在返回false
5.8.6、radiansdict.items() #以列表返回可遍歷的(鍵,值)元組數(shù)組
5.8.7、radiansdict.keys() #返回一個(gè)迭代器,可以使用list()來轉(zhuǎn)換為列表
5.8.8、radiansdict.setdefault(key,default=None) #和get() 類似,但如果鍵不存在字典中,將會(huì)添加鍵并將值設(shè)置為default
5.8.9、dadiansdict.updata(dict2) #把字典dict2d 鍵/值對(duì)更新到dict里
5.8.10、radiansdict.values() #返回一個(gè)迭代器,可以使用list()以轉(zhuǎn)換為列表
5.8.11、pop(key.[,default]) #刪除字典給定鍵key所對(duì)應(yīng)的值,返回值被刪除的值。key值必須給出。否則,返回default值
5.8.12、popitem() #隨機(jī)返回并刪除字典中最后一對(duì)鍵與值。
總結(jié)
以上是生活随笔為你收集整理的python语言中包含的标准数据类型_python标准数据类型(笔记一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux bool变量,Objecti
- 下一篇: php自动抓取文章图片,从文章中提取图片