python中可变参数和关键字参数总结

#_*_coding='utf-8'
#可变参数
def person(name,age,*args):
    #定义了可变参数args
    print('传入的名字为:',name)
    print('传入的年龄为:',age)
    print('传入的可变参数为:',args)

if __name__ == '__main__':
    person('张三',24)
    person('张三',24,'家庭地址是北京','爱好是唱歌')
'''
打印结果:
传入的名字为: 张三
传入的年龄为: 24
传入的可变参数为: ()

传入的名字为: 张三
传入的年龄为: 24
传入的可变参数为: ('家庭地址是北京', '爱好是唱歌')
'''

#关键字参数
def person(name,age,** kwargs):
    #定义关键字参数:** kwargs
    print('输入的名字为:',name)
    print('输入的年龄为:',age)
    print('数据的关键字为:',kwargs)


if __name__ == '__main__':
    person('张三',24)
    person('张三',24,hoby = '没啥爱好')

'''
打印结果为:
输入的名字为: 张三
输入的年龄为: 24
数据的关键字为: {}
输入的名字为: 张三
输入的年龄为: 24
数据的关键字为: {'hoby': '没啥爱好'}
'''

1.可变参数的理解:

  • 一个函数能接受任意个数的参数

  • 可变参数名字前有一个 *

  • 原理:python解释器会把传入的一组参数组装成一个tuple传递给可变参数

例子:上代码更加比较好理解

2.关键字参数的理解:

  • 能接受任意个参数

  • 关键字参数前有2个 **

  • 原理:python解释器会把传入的一组参数组装成一个dict传递给关键字参数

例子:上代码

原文地址:https://www.cnblogs.com/jiyanjiao-702521/p/9304887.html