python *args **kargs

不定长参数

*args **kwargs是不定长参数,可以用循环取出

*args 单星号参数

1.定义时用*定义,调用时用多个参量

def name(*args):# 定义时用*定义,调用时用多个参量
    print(args)
name(1,2,3) # 定义时用*定义,调用时用多个参量
>>> (1, 2, 3)

lis = [1,2,3]
name(*lis) # 定义时用*定义,调用时用多个参量 **dic就是将dic拆解为多个参量
>>> (1, 2, 3)

2.定义时用多个参量定义,调用时可以用多个参量

def name(a,b):
    print(a)
    print(b)
lis=[1,2]
name(*lis)
1
2

**kwargs 双星号参数

1.定义时用**定义,调用时用多个参量

def test(**kwargs): # 定义时用**定义,调用时用多个参量
    print(kwargs)

test(a="1",b="2")# 定义时用**定义,调用时用多个参量
>>> {'a': '1', 'b': '2'}

dic={"a"=1,"b"=2}
test(**dic)  # 定义时用**定义,调用时用多个参量 **dic就是将dic拆解为多个参量
>>> {'a': '1', 'b': '2'}

2.定义时用多个参量定义,调用时可以用多个参量

def test(a,b):
    print(a)
    print(b)

dic = {"a":1,"b":2}
test(**dic)

>>> 1
>>> 2

*和**的顺序

In[6]: def test(*args,**kwargs):
def test(*args,**kwargs):
    print(f"args: {args}")
    print(f"kwargs: {kwargs}")
test(1,2,3,4,5,a=1,b=2,c=3,d=4,e=5)

>>> args: (1, 2, 3, 4, 5)
>>> kwargs: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

1.*参数,必须出现在**参数之前
2.Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,则相反

参考:
https://blog.csdn.net/yilovexing/article/details/80577510

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值