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

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

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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/870674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存