Python3 內建函式

2021-09-18 04:49:13 字數 4468 閱讀 8788

返回乙個數的絕對值。實參可以是整數或浮點數。如果實參是乙個複數,返回它的模。

返回 x 的 y 次冪;如果 z 存在,則對 z 取餘(比直接pow(x, y) % z計算更高效)。兩個引數形式的pow(x,y)等價於冪運算子:x**y

引數必須為數值型別。 對於混用的運算元型別,則適用二元算術運算子的型別強制轉換規則。 對於int運算元,結果具有與運算元相同的型別**換後),除非第二個引數為負值;在這種情況下,所有引數將被轉換為浮點數並輸出浮點數結果。 例如,10**2返回100,但10**-2返回0.01。 如果第二個引數為負值,則第三個引數必須省略。 如果存在 z,則 x 和 y 必須為整數型別,且 y 必須為非負數。

從 start 開始自左向右對 iterable 中的項求和並返回總計值。 start 預設為0。 iterable 的項通常為數字,開始值則不允許為字串。

對某些用例來說,存在sum()的更好替代。 拼接字串序列的更好更快方式是呼叫''.join(sequence)。 要以擴充套件精度對浮點值求和,請參閱math.fsum()。 要拼接一系列可迭代物件,請考慮使用itertools.chain()

如果存在 prompt 實參,則將其寫入標準輸出,末尾不帶換行符。接下來,該函式從輸入中讀取一行,將其轉換為字串(除了末尾的換行符)並返回。當讀取到 eof 時,則觸發eoferror。例如:

>>> s = input('--> ')  

--> monty python's flying circus

>>> s

"monty python's flying circus"

返回物件的長度(元素個數)。實參可以是序列(如 string、bytes、tuple、list 或 range 等)或集合(如 dictionary、set 或 frozen set 等)。

產生乙個將 function 應用於迭代器中所有元素並返回結果的迭代器。如果傳遞了額外的 iterable 實參,function 必須接受相同個數的實參,並使用所有迭代器中並行獲取的元素。當有多個迭代器時,最短的迭代器耗盡則整個迭代結束。

返回可迭代物件中最大的元素,或者返回兩個及以上實參中最大的。

如果只提供了乙個位置引數,它必須是非空 iterable,返回可迭代物件中最大的元素;如果提供了兩個及以上的位置引數,則返回最大的位置引數。

有兩個可選只能用關鍵字的實參。key 實參指定排序函式用的引數,如傳給list.sort()的。default 實參是當可迭代物件為空時返回的值。如果可迭代物件為空,並且沒有給 default ,則會觸發valueerror

如果有多個最大元素,則此函式將返回第乙個找到的。這和其他穩定排序工具如sorted(iterable,key=keyfunc, reverse=true)[0]heapq.nlargest(1, iterable, key=keyfunc)保持一致。

3.4 新版功能: keyword-only 實參 default 。

返回可迭代物件中最小的元素,或者返回兩個及以上實參中最小的。

如果只提供了乙個位置引數,它必須是 iterable,返回可迭代物件中最小的元素;如果提供了兩個及以上的位置引數,則返回最小的位置引數。

有兩個可選只能用關鍵字的實參。key 實參指定排序函式用的引數,如傳給list.sort()的。default 實參是當可迭代物件為空時返回的值。如果可迭代物件為空,並且沒有給 default ,則會觸發valueerror

如果有多個最小元素,則此函式將返回第乙個找到的。這和其他穩定排序工具如sorted(iterable,key=keyfunc)[0]heapq.nsmallest(1, iterable, key=keyfunc)保持一致。

3.4 新版功能: keyword-only 實參 default 。

通過呼叫 iterator 的__next__()方法獲取下乙個元素。如果迭代器耗盡,則返回給定的 default,如果沒有預設值則觸發stopiteration

將 objects 列印到 file 指定的文字流,以 sep 分隔並在末尾加上 end。 sep, end, file 和 flush 如果存在,它們必須以關鍵字引數的形式給出。

所有非關鍵字引數都會被轉換為字串,就像是執行了str()一樣,並會被寫入到流,以 sep 且在末尾加上 end。 sep 和 end 都必須為字串;它們也可以為none,這意味著使用預設值。 如果沒有給出 objects,則print()將只寫入 end。

file 引數必須是乙個具有write(string)方法的物件;如果引數不存在或為none,則將使用sys.stdout。 由於要列印的引數會被轉換為文字字串,因此print()不能用於二進位制模式的檔案物件。 對於這些物件,應改用file.write(...)

輸出是否被快取通常決定於 file,但如果 flush 關鍵字引數為真值,流會被強制重新整理。

在 3.3 版更改: 增加了 flush 關鍵字引數。

雖然被稱為函式,但range實際上是乙個不可變的序列型別,參見在 range 物件 與 序列型別 --- list, tuple, range 中的文件說明。

返回 number 捨入到小數點後 ndigits 位精度的值。 如果 ndigits 被省略或為none,則返回最接近輸入值的整數。

對於支援round()的內建型別,值會被捨入到最接近的 10 的負 ndigits 次冪的倍數;如果與兩個倍數的距離相等,則選擇偶數 (因此,round(0.5)round(-0.5)均為0round(1.5)2)。 任何整數值都可作為有效的 ndigits (正數、零或負數)。 如果 ndigits 被省略或為none則返回值將為整數。 否則返回值與 number 的型別相同。

對於一般的 python 物件number,round將委託給number.__round__

註解:對浮點數執行round()根據 iterable 中的項返回乙個新的已排序列表。

具有兩個可選引數,它們都必須指定為關鍵字引數。

key 指定帶有單個引數的函式,用於從 iterable 的每個元素中提取用於比較的鍵 (例如key=str.lower)。 預設值為none(直接比較元素)。

reverse 為乙個布林值。 如果設為true,則每個列表元素將按反向順序比較進行排序。

使用functools.cmp_to_key()可將老式的 cmp 函式轉換為 key 函式。

內建的sorted()確保是穩定的。 如果乙個排序確保不會改變比較結果相等的元素的相對順序就稱其為穩定的 --- 這有利於進行多重排序(例如先按部門、再按薪級排序)。

建立乙個聚合了來自每個可迭代物件中的元素的迭代器。

返回乙個元組的迭代器,其中的第 i 個元組包含來自每個引數序列或可迭代物件的第 i 個元素。 當所輸入可迭代物件中最短的乙個被耗盡時,迭代器將停止迭代。 當只有乙個可迭代物件引數時,它將返回乙個單元組的迭代器。 不帶引數時,它將返回乙個空迭代器。 相當於:

zip('abcd', 'xy') --> ax by
當你不用關心較長可迭代物件末尾不匹配的值時,則zip()只須使用長度不相等的輸入即可。 如果那些值很重要,則應改用itertools.zip_longest()

zip()*運算子相結合可以用來拆解乙個列表:

>>> x = [1, 2, 3]

>>> y = [4, 5, 6]

>>> zipped = zip(x, y)

>>> list(zipped)

[(1, 4), (2, 5), (3, 6)]

>>> x2, y2 = zip(*zip(x, y))

>>> x == list(x2) and y == list(y2)

true

Python3內建函式

1 兩個列表可以相加 collections.counter計數器,計算列表中每項出現的次數,並返回字典型別,其中元素作為key,其計數作為value。當所訪問的鍵不存在時,返回0,而不是keyerror 否則返回它的計數。其中負號表示降序 預設公升序 與reverse true相同 4 數值的除法...

Python3 內建函式

abs 函式 函式返回 x 數字 的絕對值 python dict 函式 dict 函式用於建立乙個字典。dict 建立空字典 dict a a b b t t 傳入關鍵字 dict zip one two three 1,2,3 對映函式方式來構造字典 dict one 1 two 2 three...

Python3 內建函式

compile f open 函式遞迴.py data compile f.read exec exec data print msg 又回到最初的起點 f open tofile w print msg,記憶中你青澀的臉 sep end file f slice a range 20 patter...