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