python爬梯子day3

函数(三)

1.1 递归函数

一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数

def show(num):
    print("haha")
    #num == 1 表示结束递归调用的条件,不让自己调用自己
    if num == 1:
        #当满足某个条件的时候,不让自己调用自己
        print()
    else:
        #当num不等于1时,自己调用自己
        show(num - 1)
show(3)

递归的注意点,递归函数必须要有结束递归的条件,否则就会崩溃,因为超过了最大递归数

1.2 匿名函数

用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤

语法: lambda 参数列表: 运算表达式

sum = lambda arg1, arg2: arg1 + arg2

# 调用sum函数
print("Value of total : %d" % sum( 10, 20 ))
print("Value of total : %d" % sum( 20, 20 ))
#应用场合
#函数作为参数传递

>>> def fun(a, b, opt):
...     print("a = " % a)
...     print("b = " % b)
...     print("result =" % opt(a, b))
...
>>> add = lambda x,y:x+y
>>> fun(1, 2, add)  # 把 add 作为实参传递,注意 add 后没有小括号
a = 1
b = 2
result = 3

1.3 列表推导式

使用列表结合for循环快速创建一个新的列表,列表推导式返回的是一个列表类型
语法:[把每一个value数据添加再列表里面 for value in 容器类型的数据]

#需求:快速创建一个列表,并且列表里面有1-5的数据
new_list = [value for value in range(1,6)]
print(new_list,type(new_list))

#需求:快速创建一个列表,且列表里面有1-5的数据偶数
new_list = [value for value in range(1,6)if value % 2 == 0]
print(new_list,type(new_list))

#需求:["aa","bb","cc"]
my_str = "abc"
new_list = [value*2 for value in my_str]
print(new_list,type(new_list))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值