Python魔法参数 *args 和 **kwargs

  1. *args**kwargs是Python的魔法参数,即可变参数,支持传入多个参数,主要用于函数定义,将不定数量的参数传给一个函数。

  2. 只有前面的星(*)号是必须的,后面的 args 和 kwargs 是通俗的命名约定,可以换成任意的名称,如:*var 和 **vars。

  3. *args是位置(可变)参数,表示任意个无名参数,是一个tuple。

  4. **kwargs是关键字(可变)参数,是一个键值对的dict。

  5. 示例一

def variable_parameter(*args, **kwargs):
    print('args=', args)
    print('kwargs=', kwargs)
  
variable_parameter(7, 78, 'xz', a = 'python', b = 'learning')
args= (7, 78, 'xz')
kwargs= {'a': 'python', 'b': 'learning'}
  1. 示例二
def many_parameters(first, *args, **kwargs):
    print('Standard parameter:', first)
    for v in args:
        print('Positional parameter:', v)
    for k, v in kwargs.items():
        print(f"Keyword parameter: key = {k}, values = {v}")
      
many_parameters('hello', 520, 'word', name = 'python', content = 'learn-plan')
Standard parameter: hello
Positional parameter: 520
Positional parameter: word
Keyword parameter: key = name, values = python
Keyword parameter: key = content, values = learn-plan
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容