python多参数函数(*args,**kwargs,zip,(*z))

本文介绍了Python中的一些高级用法,包括使用zip函数进行元素配对和解压、定义灵活的函数参数、使用*args和**kwargs来传递多个位置参数和关键字参数。通过这些技巧,可以更高效地编写和组织代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zip

x = ['a','b','c']
y = [1,2,3]
z = zip(x,y)
print(z)
#>[('a', 1), ('b', 2), ('c', 3)]
#魔法般的解压方式
x,y,z = zip(*z)

拆分

def add(x,y):
    return x+y

a = 2
b = 3
c = [2,3]
add(2,3)
#等同于
add(*[2,3])

可变参数

def magic(*args,**kwargs):
    print('unnamed args:',args)
    print('keyword args:',kwargs)

arguments = (1,2)
kw_arguments = {'key2': 23333, 'key1': 'hello'}

magic(1,2,key1='hello',key2=23333)
#等同于
magic(*arguments,**kw_arguments)

(‘unnamed args:’, (1, 2))
(‘keyword args:’, {‘key2’: 23333, ‘key1’: ‘hello’})

默认参数

def Xmagic(a1,a2='default',*args,**kwargs):
    print('unnamed args:',args)
    print('keyword args:',kwargs)
    print('a1:',a1)
    print('a2=',a2)
>>> Xmagic('arguement 1',*[],**kw_arguments)
unnamed args: ()
keyword args: {'key2': 23333, 'key1': 'hello'}
a1: arguement 1
a2= default
>>> Xmagic('arguement 1',*arguments,**kw_arguments)
unnamed args: (2,)
keyword args: {'key2': 23333, 'key1': 'hello'}
a1: arguement 1
a2= 1
>>> Xmagic('arguement 1',key3='hello',*arguments,**kw_arguments)
unnamed args: (2,)
keyword args: {'key2': 23333, 'key1': 'hello', 'key3': 'hello'}
a1: arguement 1
a2= 1
>>> Xmagic('argument 1','argument 2',key3='hello',*arguments,**kw_arguments)
unnamed args: (1, 2)
keyword args: {'key2': 23333, 'key1': 'hello', 'key3': 'hello'}
a1: argument 1
a2= argument 2

Notes

未命名的参数一定写在传参的前面,keywords一定写在后面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值