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...