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)
九、Python高级——a, *args, **kwargs区别
最新推荐文章于 2024-11-12 23:15:59 发布
本文探讨了Python中的`def`函数与匿名函数(lambda表达式)的使用,涉及参数传递、错误案例,以及lambda函数在列表操作中的应用。重点讲解了lambda函数的简洁性和在数据处理中的高效性。
摘要由CSDN通过智能技术生成