詳解Python中的內(nèi)建函數(shù),可迭代對(duì)象,迭代器
Python中的內(nèi)建函數(shù)和可迭代對(duì)象,迭代器
求值標(biāo)識(shí)
- id() #標(biāo)識(shí)id 返回對(duì)象的唯一標(biāo)識(shí),CPython返回內(nèi)存地址
- hash() #哈希, 返回對(duì)象的哈希值
- len(s) -->返回一個(gè)集合類型的元素個(gè)數(shù)
- range(start,stop[,step]) -->返回一個(gè)從start開(kāi)始到stop結(jié)束,步長(zhǎng)為step的可迭代對(duì)象。step默認(rèn)為1
類型判斷
- type() #返回對(duì)象的類型
- isinstance(obj,class_or_tuple) —>True|False #判斷obj是否屬于某種類型或者元組中列出的某個(gè)類型
例如 isinstance(True,int) #判斷True是否是int類型
- issubclass(cls,class_or_tuple)—>True|False #判斷類型cls是否是某種類型的子類或元組中列出的某個(gè)類的子類
例如issubclass(bool,(int,str)) #判斷bool是否是(int,str)其中一個(gè)的子類。
類型轉(zhuǎn)換
* float() -->轉(zhuǎn)換為浮點(diǎn)型
* int() -->轉(zhuǎn)換為整形
* bin() -->轉(zhuǎn)換為2進(jìn)制
* hex() -->轉(zhuǎn)換為16進(jìn)制
* oct() -->轉(zhuǎn)換為8進(jìn)制
* bool() -->返回bool值
* list() --->返回列表
* tuple() --->返回元組
* dict() --->返回字典對(duì)象
* set() --->返回集合對(duì)象
* complex() --->虛數(shù)轉(zhuǎn)換
* bytes() ---> 返回字節(jié)數(shù)組
* bytearry() --->返回可變的字節(jié)數(shù)組
* str() --->返回字符類型
字符轉(zhuǎn)換
* chr(i)-->str #將整數(shù)轉(zhuǎn)換成對(duì)應(yīng)的字符
* ord(str)--->int #將字符轉(zhuǎn)換成對(duì)應(yīng)的整數(shù)
* repr()
* ascii()
輸入輸出
- input([prompt])–>str 接受用戶輸入,返回一個(gè)字符串
- print(*object,sep=' ‘,end='\n',file=sys.stdout,flush=False) -->打印輸出,默認(rèn)使用空格分割,換行結(jié)尾,輸出到控制臺(tái)
數(shù)學(xué)運(yùn)算相關(guān)
- abs(x)–> 返回x的絕對(duì)值 x為數(shù)值
- max()—> 返回最大值
- min()—> 返回最小值
- round(x)—>四舍五入取偶, 例如:round(-0.5)==0
- pow(x,y)—>求 xy x^yxy
- divmod(x,y) —>返回x除以y的商和x除以y的余組成的二元組。等價(jià)于tuple(x//y,x%y)
- sum(iterable[,start])可迭代對(duì)象的所有數(shù)值元素求和
start為初始值,即從幾開(kāi)始累加
例如:
sum(range(5)) #求0~4所有數(shù)的和 sum(range(5),3) # 等價(jià)于3+sum(range(5))
sorted(iterable[,key][,reverse])—>list #排序,返回一個(gè)新的列表,默認(rèn)升序
revers 是反轉(zhuǎn),默認(rèn)revers = False
key 解決待排序中不同類型之間的排序。key是函數(shù)(這個(gè)函數(shù)指定了數(shù)據(jù)的排序方式),這個(gè)函數(shù)就可以吧元素強(qiáng)制轉(zhuǎn)化為你指定的類型,但轉(zhuǎn)換后的結(jié)果只是用來(lái)做比較大小,不會(huì)改變最后生成的列表中的元素本身。
例如:
ls = [1,2,5,6,7,4,3,5,3] ls2 = sorted(ls) # 返回一個(gè)由ls內(nèi)元素升序組成的列表 ls3 = sorted(ls,reverse=True) # 返回一個(gè)由ls內(nèi)元素降序組成的列表 lss = [1,2,5,6,7,4,3,5,"3"] lss2 = sorted(lss,key=str) print(lss2)
迭代器惰性求值
reversed(seq) -->返回一個(gè)翻轉(zhuǎn)元素的迭代器。惰性求值
例如:
ls = list("abcd") ls1 = reversed(ls) print(ls,ls1) next(ls1)
enumerate(seq,start=0)–>枚舉生成器對(duì)象,返回索引數(shù)字和元素構(gòu)成的二元組
seq 需要迭代的序列
start 表示索引開(kāi)始的數(shù)字,默認(rèn)是0
iter(iterable) #將一個(gè)可迭代對(duì)象封裝成一個(gè)迭代器
next(iterator[,default]) #對(duì)一個(gè)迭代器取下一個(gè)元素。如果元素全部都取過(guò)了,再次next會(huì)拋出StopIteration異常
例如:
it = reversed([1,3,4,5,6]) next(it)
zip(*iterable)—>迭代器 #拉鏈函數(shù)
根據(jù)多個(gè)個(gè)可迭代對(duì)象,返回一個(gè)由對(duì)應(yīng)下標(biāo)元素組成的元組。迭代器可返回值的個(gè)數(shù)取決于多個(gè)可迭代對(duì)象的最小長(zhǎng)度。
把多個(gè)可迭代對(duì)象合并在一起,返回一個(gè)迭代器。將每次從不同對(duì)象中渠道的元素合并成一個(gè)元組
常用例子:
list(zip(range(10,range(10),range(10)))) dict(zip(range(10),range(10)))
例如:
m = zip(range(9),range(6)) for i in m: print(i) print("------------") m = zip(range(3),range(6)) for i in m: print(i)
all(iterable)—>True|False #判斷所有元素是否都等效于True,如果都是就返回True,否則返回False。如果集合沒(méi)有一個(gè)元素,返回True
any(iterable)—>True|False #判斷所有元素中是否有等效為T(mén)rue的元素,如果有,返回True.如果集合沒(méi)有一個(gè)元素,返回False
可迭代對(duì)象
- 能夠通過(guò)迭代一次次返回不同元素的對(duì)象
- 可迭代,但是未必有序,未必可索引
- 可迭代對(duì)象有:list、tuple、string、bytes、bytearray、range、set、dict、生成器等
- 可使用成員操作符in、not in
迭代器
- 特殊的對(duì)象,一定是可迭代對(duì)象,具備可迭代對(duì)象的特征
- 生成器對(duì)象,就是迭代器對(duì)象
- 創(chuàng)建和使用:
- 可以通過(guò)iter方法把一個(gè)可迭代對(duì)象封裝成迭代器
- 可以通過(guò)next()方法獲取迭代器中的元素。
附加
以上所述是小編給大家介紹的Python內(nèi)建函數(shù),可迭代對(duì)象,迭代器詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
python實(shí)現(xiàn)圖片加文字水印OPenCV和PIL庫(kù)
本文來(lái)為大家介紹一下,使用python中的庫(kù)實(shí)現(xiàn)給圖片添加文字水印,openCV可以給圖片添加水印,如果要添加漢字水印那就要使用PIL庫(kù)2021-09-09Python3 執(zhí)行系統(tǒng)命令并獲取實(shí)時(shí)回顯功能
這篇文章主要介紹了Python3 執(zhí)行系統(tǒng)命令并獲取實(shí)時(shí)回顯功能,文中通過(guò)兩種方法給大家介紹了Python執(zhí)行系統(tǒng)命令并獲得輸出的方法,需要的朋友可以參考下2019-07-07在Heroku云平臺(tái)上部署Python的Django框架的教程
這篇文章主要介紹了在Heroku云平臺(tái)上部署Python的Django框架的教程,Heroku云平臺(tái)使用了Git版本控制系統(tǒng),所以本教程主要提供了配置所需要的Git腳本,需要的朋友可以參考下2015-04-04