Python模組的內建函式

2021-07-27 03:01:45 字數 3243 閱讀 4480

python提供了乙個內聯模組buildin。內聯模組定義了一些開發中經常使用的函式。利用這些函式可以實現資料型別的轉換、資料的計算、序列的處理等功能。下面將介紹內聯模組中常用的函式。

filter()可以對某個序列做過濾處理,判斷自定義函式的引數返回的結果是否為真來過濾,並一次性返回處理結果。filter()的宣告如下所示。

class filter(object)

filter(function

ornone, iterable)

--> filter object

# filter(函式或none, 可迭代物件) => 返回物件

# list(filter(函式或none, 可迭代物件)) => 返回列表

下面這段**演示了filter()過濾序列的功能。從給定的列表中過濾出大於0的數字。

>>> def func(x):

...if x > 0:

...return x

...>>> print(filter(func, range(-9, 10))) #呼叫filter函式,返回的是filter物件

0x0000027adc1999e8> #將filter物件轉換為列表

>>> print(list(filter(func, range(-9, 10))))

[1, 2, 3, 4, 5, 6, 7, 8, 9]

注意:filter中的過濾函式func()的引數不能為空。否則,沒有可以儲存sequence(序列)元素的變數,func()也不能處理過濾。

對序列中元素的連續操作可以通過迴圈來處理。例如,對某個序列中的元素累加操作。python提供的reduce()也可以實現連續處理的功能。在python2中reduce()存在於全域性空間中,可以直接呼叫。而在python3中將其移到了functools模組中,所以使用之前需要先引入。reduce()的宣告如下所示。

reduce(func, sequence[, initial]) => value

【**說明】

下面這段**實現了對乙個列表的數字進行累加的操作。

>>> 

defsum

(x, y):

...

return x + y

...>>>

from functools import reduce

>>> print(reduce(sum, range(0, 10))) # 0+1+2+3+4+5+6+7+8+9

45>>> print(reduce(sum, range(0, 10), 10)) #10+0+1+2+3+4+5+5+7+8+9

55>>> print(reduce(sum, range(0, 0), 10)) #range(0, 0)返回空列表

10

reduce()還可以對數字進行乘法、階乘等複雜的累計計算。

注意:如果用reduce()進行累計計算,必須在sum中定義兩個引數,分別對應加法運算子兩側的運算元。

map()對tuple元祖進行「解包」操作,呼叫時設定map()的第乙個引數為none,map()的功能非常強大,可以對多個序列的每個元素都執行相同的操作,並返回乙個map物件,map()的宣告如下所示:

class map(object)

map(func, *iterables)

--> map object

【**說明】

下面這段**實現了列表中數字的冪運算。

>>> def power(x):

...return x ** x

...>>> print(map(power, range(1, 5)))

0x0000027adc199c88>

>>> print(list(map(power, range(1, 5))))

[1, 4, 27, 256]

>>> def power2(x, y):

...return x ** y

...>>> print(map(power2, range(1, 5), range(5, 1, -1)))

0x0000027adc1b4438>

>>> print(list(map(power2, range(1, 5), range(5, 1, -1))))

[1, 16, 27, 16]

# 提供了兩個列表引數。依次計算1^5、2^4、3^3、4^2,計算後的結果同樣yield成乙個iterable物件。

注意:如果map()中提供多個序列,則每個序列中的元素一一對應進行計算。如果每個序列的長度不相同,則短的序列後補充none,再進行計算。

常用內建函式一覽表如下所示:

abs(x):返回x的絕對值

bool([x]):把乙個值或表示式轉換為bool型別。如果表示式x為值,返回true;否則,返回false

delattr(obj.name):等價於del obj.name

eval(s[, globals[, locals]]):計算表示式的值

float(x):把數字或字串轉換為float型別

hash(object):返回乙個物件的hash值

help([object]):返回內建函式的幫助說明

id(x):返回乙個物件的標識

input([prompt]):接收控制台的輸入,並把輸入的值轉換為數字

int(x):把數字或字串轉換為整型

len(obj):物件包含的元素個數

range([start, ] end [, step]):生成乙個列表並返回

reduce(func, sequence[, initial]):對序列的值進行累計計算

round(x, n = 0):四捨五入函式

set([iterable]):返回乙個set集合

sorted(iterable[, cmp[, key[, reverse]]]):返回乙個排序後的列表

sum(iterable[, start = 0]):返回乙個序列的和

type(obj):返回乙個物件的型別

zip(iter1 [,iter2 […]]):把n個序列作為列表的元素返回

python內建模組 Python 內建模組

內建模組 python有一套很有用的標準庫 standard library 標準庫會隨著python直譯器,一起安裝在你的電腦中的。它是python的 乙個組成部分。這些標準庫是python為你準備好的利器,可以讓程式設計事半功倍。常用標準庫 標準庫 說明 builtins 內建函式預設載入 os...

python 常用的內建函式和內建模組

1 type 返回物件或者變數的資料型別 print type 嘻嘻 class str a 3print type a class int 2 abs 返回數字的絕對值 print abs 10 10 3 max 返回一組資料當中最大的值 print max 1,3,2 3 4 min 返回一組資...

python的內建函式和模組

內建函式 python也有很多內建函式來供我們使用,可以用help 來檢視內建函式的用法 絕對值 abs 最大值max 最小值min 計算序列長度可以用len divmod x,y 得到x除以y的商及餘數 pow x,y,z 表達的是求x的y次方再對z取餘,z可有可無,沒有z的話就是求x的y次方 c...