九、Python高级——a, *args, **kwargs区别

本文探讨了Python中的`def`函数与匿名函数(lambda表达式)的使用,涉及参数传递、错误案例,以及lambda函数在列表操作中的应用。重点讲解了lambda函数的简洁性和在数据处理中的高效性。
摘要由CSDN通过智能技术生成
def func1(a,*args, **kwargs):
    """
    :param a:
    :param args: 参数会以元组(tuple)的形式导入
    :param kwargs: 参数会以字典的形式导入
    :return:
    """
    print(a)
    print(args)
    print(kwargs)
    
func1(1,2,3,4,x=1,y=5)
#注意调换入参位置会报错
func1(1,x=1,y=5,2,3,4)  # positional argument follows keyword argument  


# 匿名函数lambda 只是一个表达式,特点是调用小函数时不占用栈内存从而增加运行效率
x = lambda a : a + 10
print(x(5))
sum = lambda arg1, arg2 : arg1 + arg2
print(sum(10,20))


# 普通python函数
def func2(a, b, c):
    return a + b + c

print(func2(1,2,3))
# 结果为 6, lambda匿名函数
f = lambda a, b, c: a + b + c
print(1, 2, 3)
# 结果为 6
# 在代码:f = lambda a,b,c: a+b+c 中,lambda表示匿名函数; 冒号 “:”之前的a,b,c表示它们是这个函数的参数。
# 重点:匿名函数不需要return来返回值,表达式本身结果就是返回值。
a = [1,2,3,4]
b = [5,6,7,8]
print(list(map(lambda x, y: x + y, a, b)))

# 应用在列表推导式
test_list = [1,3,4,5,6]
l = [x for x in test_list if x % 2 == 0]
print(l)
result_l = list(filter(lambda x:x%2==0, l))
print(result_l)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值