Python學習——內建函數

標識 id
返回對象的唯一標識,CPython返回內存地址

哈希 hash()
返回一個對象的哈希值

類型 type()
返回對象的類型

類型轉換
float() int() bin() hex() oct() bool() list() tuple() dict() set() complex() bytes() bytearray()

輸入 input([prompt])
接收用戶輸入,返回一個字符串

打印 print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
打印輸出,默認使用空格分割、換行結尾,輸出到控制檯

對象長度 len(s)
返回一個集合類型的元素個數

isinstance(obj, class_or_tuple)
判斷對象obj是否屬於某種類型或者元組中列出的某個類型
isinstance(True, int)

issubclass(cls, class_or_tuple)
判斷類型cls是否是某種類型的子類或元組中列出的某個類型的子類
issubclass(bool, int)

絕對值abs(x) x爲數值
最大值max() 最小值min()
返回可迭代對象中最大或最小值
返回多個參數中最大或最小值

round(x) 四捨六入五取偶,round(-0.5)
pow(x , y) 等價於 x**y
range(stop) 從0開始到stop-1的可迭代對象;range(start, stop[, step])從start開始到stop-1結束步長爲 step的可迭代對象

divmod(x, y) 等價於 tuple (x//y, x%y)
sum(iterable[, start]) 對可迭代對象的所有數值元素求和
sum(range(1,100,2))

chr(i) 給一個一定範圍的整數返回對應的字符
chr(97) chr(20013) ASCII碼
ord© 返回字符對應的整數
ord(‘a’) ord(‘中’)

sorted(iterable[, key][, reverse]) 排序
返回一個新的列表,默認升序 對原列表不做修改
reverse是反轉

sorted([1, 3, 5])
sorted([1, 3, 5], reverse=True) 降序
sorted({‘c’:1, ‘b’:2, ‘a’:1})

翻轉 reversed(seq)
返回一個翻轉元素的迭代器
函數reversed不返回列表,而是返回一個迭代器。
可以用list成一個列表 list(reversed(“13579”))
在這裏插入圖片描述

枚舉 enumerate(seq, start=0)
迭代一個序列,返回索引數字和元素構成的二元組 ,同樣返回的是迭代器
start表示索引開始的數字,默認是0
在這裏插入圖片描述

迭代器和取元素 iter(iterable)、next(iterator[, default])
iter將一個可迭代對象封裝成一個迭代器
next對一個迭代器取下一個元素。如果全部元素都取過了,再次next會拋StopIteration異常
it = iter(range(5)) next(it)
it = reversed([1,3,5]) next(it)

可迭代對象
能夠通過迭代一次次返回不同的元素的對象。
所謂相同,不是指值是否相同,而是元素在容器中是否是同一個,例如列表中值可以重複的,[‘a’, ‘a’],雖然這個列表有2個元素,值一樣,但是兩個’a’是不同的元素
可以迭代,但是未必有序,未必可索引
可迭代對象有:list、tuple、string、bytes、bytearray、range、set、dict、生成器等
可以使用成員操作符in、not in,in本質上就是在遍歷對象

在這裏插入圖片描述
迭代器
特殊的對象,一定是可迭代對象,具備可迭代對象的特徵
通過iter方法把一個可迭代對象封裝成迭代器
通過next方法,迭代 迭代器對象
生成器對象,就是迭代器對象
for x in iter(range(10)): print(x)
g = (x for x in range(10))
print(type(g))
print(next(g))
print(next(g))

拉鍊函數zip(*iterables) ,主要用來構造字典
像拉鍊一樣,把多個可迭代對象合併在一起,返回一個迭代器
將每次從不同對象中取到的元素合併成一個元組
list(zip(range(10),range(10)))
ist(zip(range(10),range(10),range(5),range(10)))
dict(zip(range(10),range(10)))
{str(x):y for x,y in zip(range(10),range(10))}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章