python中主要内建函数
1.__getattribute__屬性訪問攔截器(內(nèi)建屬性
?
class Foo(object):
??? def __init__(self):
??????? self.a = 100
?
??? def __getattribute__(self, name):
??????? if name == "a":
??????????? # return self.a? # __getattribute__("a")
??????????? return super(Foo,self).__getattribute__("a")
??????? else:
??????????? return 200
?
# 遞歸? 函數(shù)內(nèi)部調(diào)用自身
?
obj = Foo()
# obj.a? # __getattribute__("a")
# print(obj.c)
print(obj.a)?? # __getattribute__("a")
?
2.range
range(stop)??? ->???list??? of??? integers
range(start,??? stop[,???step])??? ->??? list???of??? integers
start:計數(shù)從start開始。默認(rèn)是從0開始。例如range(5)等價于 range(0,???5);
stop:到stop結(jié)束,但不包括stop.例如:range(0,??? 5)??? 是[0,??? 1,??? 2,???3,??? 4] 沒有5
step:每次跳躍的間距,默認(rèn)為1。例如:range(0,??? 5)??? 等價于 range(0,???5,??? 1)
python2中range返回列表,python3中range返回?個迭代值。如果想得到列表,可通過list函數(shù)
3.lambda函數(shù)
def add(num1, num2):
??? return num1+num2
?
?
# lambda表達(dá)式??創(chuàng)建一個匿名函數(shù)
?
# lambda 傳入?yún)?shù) : 返回值
lambda num1,num2 :num1+num2
?
#lambda會返回一個函數(shù)對象
?
4.map函數(shù) map函數(shù)會根據(jù)提供的函數(shù)對指定序列做映射
li= [1, 2, 4, 5]
# map(函數(shù), 處理的對象)
# 返回可迭代對象
?
# def fun(x):
#???? return x+1
?
# ret = map(fun, li)
?
ret = map(lambda x:x+1, li)
?
# print(list(ret))
?
li1 = [1, 2, 3, 4]
# li2 = [5, 6, 7, 8]
li2 = [5, 6]
?
?
ret = map(lambdax,y:x+y, li1, li2)
print(list(ret))
?
5.filter函數(shù)——過濾
li = [1, 2, 3, 4, 5,6, 7, 8]
?
#filter過濾數(shù)據(jù)
?
# filter(函數(shù), 對象)
?
def fun(x):
??? # 如果要保留這個元素,返回True
??? # 如果要丟棄這個元素, 返回False
??? if x%2 == 0:
??????? return True
??? else:
??????? return False
?
# ret = filter(fun,li)
?
ret = filter(lambdax: x%2==0, li)
?
print(list(ret))
?
6.reduce函數(shù)——累積
from functoolsimport reduce
?
li = [10, 20, 40,50]
?
?
# reduce(函數(shù), 對象)
ret = reduce(lambdax, y: x+y, li)
?
# lambda x,?? y? :x+y
#??????? 10??20?? 30
#
#??????? 30??40?? 70
#
#??????? 70??50?? 120
?
# print(ret)
?
# reduce(函數(shù), 對象, 起始值)
ret = reduce(lambdax, y: x+y, li, 100)
?
# lambda x,?? y? :x+y
#??????? 100??10? 110
#
#?????? 110??20?? 134
#....
?
print(ret)
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的python中主要内建函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构中的栈
- 下一篇: TCP的2MSL问题