函数注解
- 形如def(A:stri,B:dict) ->str
pass
对函数的参数以及返回值做出解释 使代码具有更好的可读性
高阶函数:
能够接受函数作为参数,或者是把函数作为结果返回的函数j叫做高阶函数 c常见的y有mapping fliter y以及reduce
(了解)在当下的python版本j借助列表推导式来实现的某些功能z足够比高阶函数实现的更为优雅
operator包:
有时候需要把算术运算符当做函数来使用l来使得某些功能更为优雅
常规实现阶乘函数:
def fact(n):
return 1 if n < 2 else n*fact(n-1)
借助operator中的mul
from functools import reduce
from operator import mul
def fact(n):
return reduce(mul,range(1,n+1))
另外operator中还有itemgetter函数k可以用来实现lambda的某些功能 y用于定义kkey的时候g更为简洁优雅
from operator import itemgetter
list_data = [("张三",1),(“李四”,3),(“王五”,2)]
for item in sorted(list_data,key = itemgetter(1))
print(item)
上面的写法比之s使用匿名函数 kkey = lambda item:item[1] y优势太明显
使用频率很高的高阶函数:any,all,sum,sorted,min,max, 有兴趣可以了解 functools.partial (常用来绑定某个变量,冻结更为合适)