匿名函数:使用lambda表达式来使用匿名函数
lambda匿名函数的语法如下:
lambda [arg1 [,arg2,.......argn]]:expression
注:
1、args指的是参数,可以写多个参数,参数与参数之间用逗号隔开;
2、expression指条件表达式,表达式只能写一个;
3、该表达式的结果就是返回值,不需要用return关键字,返回值可以用变量来接收;
4、当匿名函数赋值给一个变量,调用匿名函数时,使用变量名(参数值1,参数值2..)方式来实现。
filter() 函数:
函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。函数结果的值直接使用return返回即可。
语法:filter(function, iterable)
应该接收两个参数,参数function为函数,iterable为序列(需要迭代的对象),序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
map() 映射函数:根据提供的函数对指定序列做映射
语法:map(function,iterable,......)
会根据提供的括号内函数对给出的序列做一一映射
function为所指定的函数,iterable为所提供的序列(需要迭代的对象),可为多个序列。
装饰器
装饰器本质上是一个 Pyth on 函数或类,它可以让其他函数或类在不需要对本函数或类做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。装饰器的作用就是为已经存在的对象添加额外的功能
logging模块:打印日志
logging.warning():打印日志
函数名.__name__:输出调用此函数的其他函数对象名
装饰器定义
def log(func): # log是装饰器名,自定义
def wrapper(*args, **kwargs): # wrapper 装饰器内定义的函数名
print(‘call %s():’ % func.__name__) # 装饰器添加的附属功能
return func(*args, **kwargs) # 执行装饰器传入的函数,return可省略
return wrapper # 将wrapper方法执行后的结果返回wrapper并输出
@log
def test(): # 真正执行的是装饰器里的wrapper
pass
注:*args接收位置参数, **kwargs接收指定参数