*args 和 **kwargs是什么?

class People():
    def __init__(self,*args,**kwargs):
        pass
这其中,*args**kwargs分别是什么呢
其中*args可以接受很多值,是Python中的tuple数据结构
**kwargs接受字典dictionary

例子

class People():
    def __init__(self,*args,**kwargs):
        print('*args:',*args)
        print('**kwargs:',**kwargs)

-----
wo = People(1,2,'nihao')
*args: 1 2 nihao
**kwargs:
---
def func(required_arg, *args, **kwargs):
    # required_arg is a positional-only parameter.
    print (required_arg)

    # args is a tuple of positional arguments,
    # because the parameter name has * prepended.
    if args: # If args is not empty.
        print (args)

    # kwargs is a dictionary of keyword arguments,
    # because the parameter name has ** prepended.
    if kwargs: # If kwargs is not empty.
        print (kwargs)
 ------
func("required argument", 1, 2, '3', keyword1=4, keyword2="foo")
required argument
(1, 2, '3')
{'keyword2': 'foo', 'keyword1': 4}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值