python
达人利刃披荆斩棘
这个作者很懒,什么都没留下…
展开
-
【python】匿名函数
匿名函数lambda格式:lambda 参数:返回值优点:(1)python写一些执行脚本时,lambda可以省去定义函数的过程,让代码更精简(2)对于一些抽象的,不在其他地方重复使用的函数,使用lambda就不用考虑命名的问题(3)某些时候,lambda让代码更容易理解规则:(1)若只有一个表达式,则必须有返回值(2)可以没有参数,也可以有多个参数(3)不能有return定义一个返回参数之和的函数(通常)def f(x, y): return x + y定义一个返回参数原创 2021-04-25 11:05:12 · 150 阅读 · 0 评论 -
【python】偏函数
偏函数functools.partial,把一个函数的某些值固定住(设置默认值),返回一个新函数,调用这个新函数会更简单假设要转换大量的二进制数,而每次都传入base = 2很麻烦,故创建函数def int2(x, base=2): return int(x, base)print(int2('1001000'))print(int2('1000011'))print(int2('1001110'))fanctools.partial用来创建函数,不需要再定义int2(),可以直接原创 2021-04-25 11:02:49 · 59 阅读 · 0 评论 -
【python】尾递归优化,防止栈溢出
函数调用是通过栈来实现的,每当进入一次函数调用,栈就会增加一层栈帧,返回时减少一层,所以递归次数过多时,会导致栈溢出。例如:def f(n): if n == 1: return 1 return n * f(n - 1)print("结果为:", f(1000))输出结果会提示超过最大递归深度解决函数递归溢出的方法是尾递归优化,尾递归是指在函数返回时调用函数本身,并且return不能包含表达式,这样编译器就会对尾递归进行优化,是递归本身不论调用多少次,都只占原创 2021-04-25 09:10:35 · 488 阅读 · 0 评论