您的位置:首页 > 其它

内建函数的使用

2018-09-02 07:37 375 查看
filter(function or None, iterable) --> filter object => 返回一个生成器 是惰性求值
例如:
filter(lambda x :x%2==0,range(5))
filter(None,range(4)) => 0 1 2 3
filter(lambda x:x[0],zip(range(3),range(4)))=> (1,1),(2,3) #等效True a[0] = 0 is False 进不来
filter(lambda x:x % 2==0,[1,2,3,4,5,6])

map:从一种形态变成另一种形态 ,但是一直保持相同个数,返回一个生成器,惰性求值
1.map(func, *iterables) --> map object
for i in map(str,range(3)):
print i =>0 <class 'str'>
1 <class 'str'>
2 <class 'str'>
2.map(lambda x:x**3,(1,2,3,4)) => for i in map(///) => 1 , 4, 8, 16
map (lambda x:x%2,[1,3,4,56,7])

3.for i in map(lambda x : "{}\n".format(x),range(4)):

import inspect
from inspect import Parameter
import inspect,_signal
# print(add.__annotations__) #{'x': <class 'int'>, 'y': <class 'int'>, 'return': <class 'int'>}
#
# sig = inspect.signature(add) #inspect 下的签名参数 就是 def 后边的内容
# print(sig) #
# parms = sig._parameters 查看签名参数的详细参数
# print(parms)

import partial (偏函数)
partial(func, *args, **keywords) - new function with partial application of the given arguments and keywords.
def add(x,y):
return x+y
newadd = partial(add,y=5) # 偏函数的用法
nesadd(4)

from functools import lru_cache (least-recently-used)
用法 : lru_cache(maxsize=128, typed=False) 如果type设置为True则不同类型的函数将单独缓存;例如 :f(3) 和 f(3.0) 是不同结果的缓存
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内建函数