python学习笔记 day16 内置函数(四)
復(fù)習(xí)
python中有哪些數(shù)據(jù)類型:int str bool list tuple dict set
python中有哪些數(shù)據(jù)結(jié)構(gòu): list,tuple,dict,set?
?
reversed()---返回一個(gè)新的list,把原來(lái)的列表元素反轉(zhuǎn),并且是一個(gè)迭代器(節(jié)省內(nèi)存)
L=[1,2,3,4] L_new=reversed(L) #返回的是一個(gè)迭代器,并不會(huì)改變?cè)辛斜?#xff0c;會(huì)把原來(lái)列表中的元素反轉(zhuǎn),產(chǎn)生一個(gè)新的 print(L) print(L_new) #返回的是一個(gè)新的列表 print(L_new.__next__()) #可以使用.__next__()方法依次取得迭代器中元素的值 print("*******************") for i in L_new: #由于這個(gè)迭代器已經(jīng)使用.__next__()取得一個(gè)值了,所以后續(xù)在使用for循環(huán)時(shí)也只能接著取了~print(i)運(yùn)行結(jié)果:
還記得之前學(xué)的reverse方法:是在原列表基礎(chǔ)上進(jìn)行操作,并不是返回一個(gè)新的列表
L=[1,2,3,4] L.reverse() #該方法于append()方法類似,沒(méi)有返回值,只是一個(gè)操作而已 print(L)運(yùn)行i結(jié)果:
slice():其實(shí)也是完成切片功能(只不過(guò)這里是一個(gè)函數(shù)封裝了list[start:end:step]功能)
L=[1,2,3,4,5,6] sli=slice(1,5,2) #只是產(chǎn)生了一個(gè)切片規(guī)則 print(L[sli])運(yùn)行結(jié)果:
format():格式化輸出
print("{},{}!".format('Hello','xuanxuan')) #格式化輸出,{}相當(dāng)于占位符 print(format(3.16),type(format(3.16))) #可以將數(shù)字轉(zhuǎn)化為字符串 print(format('xuanxuan','<30')) #將字符串左對(duì)齊,長(zhǎng)度30 print(format('xuanxuan','>30')) #將字符串右對(duì)齊,長(zhǎng)度30 print(format('xuanxuan','^30')) #將字符串居中對(duì)齊,長(zhǎng)度30運(yùn)行結(jié)果:
bytes():將字符串轉(zhuǎn)化為bytesl類型
文件中的內(nèi)容一般都是str類型,但是str類型的編碼是unicode(萬(wàn)國(guó)碼),我們傳輸一般都是用utf-8或者gbk 而bytes類型就是utf-8或者gbk編碼的,所以有時(shí)候需要進(jìn)行str---->bytes類型的轉(zhuǎn)換
print(bytes('你好,璇璇',encoding='utf-8')) #將str 類型轉(zhuǎn)換為utf_8的bytes類型 print(bytes('你好,璇璇',encoding='gbk')) #將str類型轉(zhuǎn)換為gbk的bytes類型 print(bytes(bytes('你好,璇璇',encoding='gbk').decode('gbk'),encoding='utf-8')) #如果需要進(jìn)行g(shù)bk--->utf-8的轉(zhuǎn)換時(shí),就可以先把按照gbkdecode 一下decode('gbk'),變?yōu)閟tr,unicode編碼的,然后再bytes('',encoding='utf-8')類型轉(zhuǎn)換為utf_8運(yùn)行結(jié)果:
使用范圍:
1.網(wǎng)絡(luò)編程時(shí)需要轉(zhuǎn)化為二進(jìn)制;
2.照片和視頻文件使用二進(jìn)制存儲(chǔ);
3.html爬取到的網(wǎng)頁(yè)需要使用二進(jìn)制
?
ord()----將字符按照Unicode轉(zhuǎn)換為數(shù)字;chr()----將數(shù)字按照unicode轉(zhuǎn)化為字符
print(ord('a')) #將字符a按照unicode轉(zhuǎn)化為數(shù)字97 print(ord('A')) #將字符A按照unicode轉(zhuǎn)化為數(shù)字65 print(ord('1')) #將字符‘1’按照unicode轉(zhuǎn)化為數(shù)字 print(chr(97)) #將數(shù)字97按照unicode轉(zhuǎn)化為字符運(yùn)行結(jié)果:
?
?repr():將字符串類型的原封不動(dòng)的輸出,用于%r格式化輸出
?先來(lái)感受一下:
print('你好,%s'%'璇璇') # %s就是原來(lái)我們學(xué)的將字符串格式化輸出(輸出結(jié)果不帶引號(hào)) print('你好,%r'%'璇璇') # %r 可以格式化輸出,輸出結(jié)果保留引號(hào)運(yùn)行結(jié)果:
?其實(shí),%s 對(duì)應(yīng)的時(shí)str;? %r對(duì)應(yīng)的是repr
print(repr('xuanxuan')) print('字符1:'+ repr('1')) #repr()會(huì)原封不動(dòng)的將字符帶有引號(hào)的輸出 print(repr(1)) print('**********************') print('1') print(1)運(yùn)行結(jié)果:
?
轉(zhuǎn)載于:https://www.cnblogs.com/xuanxuanlove/p/9606553.html
總結(jié)
以上是生活随笔為你收集整理的python学习笔记 day16 内置函数(四)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言实现常用数据结构——堆
- 下一篇: 【数据库】分库分表策略