python学习之内部函数:
python内置函数表:https://docs.python.org/3/library/functions.html
1 判断数据类型的函数:isinstance(变量, 待要判断的类型) 或type()
2判断某个对象是否可迭代:通过 collections 模块的 Iterable 类型判断
:isinstance(对象, Iterable)
3对列表函数的索引和值可同时迭代:enumerate ():
for i, value in enumerate(['A', 'B', 'C']):
... print(i, value)
4 map(func,list):输入函数和列表2个对象,让函数作用于列表的每个元素,对应产生一个新的列表就如数学上的表达式映射于一个区间的结果;map函数有惰性需要list输出。
5匿名函数lambda :(lambda 参数:关于参数的表达式),特点:不用return 返回,可以直接返给一个变量。
6 返回函数:函数除了可以返回结果,还可以返回函数(不产生结果,只有调用返回函数才会产生结果),定义两层函数两层返回。
7装饰器Decorator :若想在调用函数前后动态的增强原来函数的功能同时又不想修改原函数,此时可以用装饰器(既可以用函数实现又可以用类实现,语法层次支持),装饰器的基础函数一般是库函数,但考虑到不用用户可能有增强函数功能的需求而预留的操作方法。方法:通过多层返回函数(装饰器),然后再要增强的函数前加 @装饰器。举例:
def logger(text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):#*args
可以接受一切 不指定参数名 的传参方式;**kargs
可以接受一切 指定参数名 的传参方式
print('%s %s():' % (text, func.__name__))
return func(*args, **kw)
return wrapper
return decorator
@logger('DEBUG')
def today():
print('2015-3-25')
8 偏函数:newfun=functools.partial(fun,参数=默认值) :其作用就是,当函数的参数个数太多,需要简化时,使用 functools.partial 可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,把一个函数的某些参数给固定住(也就是设置默认值),返 回一个新的函数
从而在调用时更简单