#_*_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传递给关键字参数
例子:上代码