python中*args和**kwargs学习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中*args和**kwargs学习相关的知识,希望对你有一定的参考价值。
*args 和 **kwargs 经常看到,但是一脸懵逼 ,今天终于有收获了
""" python 函数的入参经常能看到这样一种情况 *args 或者是 **kwargs 但是它们到底是啥意思呢? 代码能说明一切 """ def hello(*args, **kwargs): print(args) # (‘小明‘, 25, ‘男‘, ‘中国银行‘) print(kwargs) # {} hello(‘小明‘, 25, ‘男‘, ‘中国银行‘) print(‘*‘ * 50) def hello(*args, **kwargs): print(args) # () print(kwargs) # {‘name‘: ‘小明‘, ‘age‘: 25, ‘gender‘: ‘男‘, ‘company‘: ‘中国银行‘} hello(name=‘小明‘, age=25, gender=‘男‘, company=‘中国银行‘) print(‘*‘ * 50) def hello(name, *args, **kwargs): ‘‘‘ 将第一个入参映射到name头上去了 :param name: :param args: :param kwargs: :return: ‘‘‘ print(name) # 小光 print(args) # (40, ‘男‘, ‘中国银行‘) print(kwargs) # {} hello(‘小光‘, 40, ‘男‘, ‘中国银行‘) print(‘*‘ * 50) def hello(name, *args, **kwargs): ‘‘‘ 将第一个入参映射到name头上去了 ‘‘‘ print(name) # 小光 print(args) # (40, ‘男‘, ‘中国银行‘) print(kwargs) # {} hello(name=‘小光‘, 40, ‘男‘, ‘中国银行‘) # 这样编译都不会通过 print(‘*‘ * 50) def hello(name, *args, **kwargs): ‘‘‘ 将第一个入参映射到name头上去了 ‘‘‘ print(name) # 小光 print(args) # () print(kwargs) # {‘age‘: 40, ‘gender‘: ‘男‘, ‘company‘: ‘中国银行‘} hello(name=‘小光‘, age = 40, gender= ‘男‘, company = ‘中国银行‘) # 要搞就只能这样搞
至于 ,如何灵活的使用,还有待于工作中的摸索.....
以上是关于python中*args和**kwargs学习的主要内容,如果未能解决你的问题,请参考以下文章
21天学习python编程_函数参数,理解 *args和**kwargs