python2

一:匿名函数
1.匿名函数有关键字 lambda 修饰;
2.匿名函数冒号 : 之前的是函数的参数,匿名函数可以是无参匿名函数,也可以是带参匿名函数;
3.匿名函数冒号 : 之后是表达式,匿名函数不需要写 return,表达式的结果就是返回值;
4.假如有这样一个需求:传入一个字符串,对字符串根据空格拆分,并以字符串的形式返回拆分后的结果,示例代码如下:

str1 = "laowang is sing_dog "

#普通函数
def get_str(str1):
# 1.将字符串拆分为列表
list1 = str1.split(" ")
# 2.将列表转为字符串并返回字符串
return “”.join(list1)

# 将1/2两步合并为一步完成
# return "".join(str1.split(" "))

print(“打印原始字符串:”,str1)
print(“调用普通函数获取字符串拆分结果:”,get_str(str1))

#匿名函数
f0 = lambda a:"".join(a.split(" "))
print(“调用匿名函数获取字符串拆分结果:”,f0(str1))
二:递归函数
递归的特性:

1、递归函数必须有一个明确的结束条件。

2、每进入更深一层的递归时,问题规模相对于上一次递归都应减少

3、相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。

4、递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
  5:使用方法
  import sys
#通过循环来实现叠加
def sum1(n):
‘’’
1 to n,The sum function
‘’’
sum = 0
for i in range(1,n + 1):
sum += i
return sum

#通过函数的递归来实现叠加
def sum2(n):
‘’’
1 to n,The sum function
‘’’
if n > 0:
return n + sum_recu(n - 1)    #调用函数自身
else:
return 0

print(“循环叠加–>”,sum1(100))
print(“递归叠加–>”,sum2(100))

#两者实现的效果均是:5050

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值