一.函数的动态参数

之前我们说过了传参, 如果我们需要给一个函数传参, 而参数又是不确定的. 或者我给一个函数传很多参数, 我的形参就要写很多, 很麻烦, 怎么办呢. 我们可以考虑使用动态参数.

动态参数分成两种:

1. *args 动态接收位置参数

动态接收参数的时候要注意:动态参数必须在位置参数后面

复制代码
1 def xue(*language,'a','b'): 2 3   print('我要学:',language,a,b) 4 5 xue('PHP',JAVA,'Python')
复制代码

如果这个程序不遵循顺序的话就会报错,如上面代码,因为前面传进去的所有位置参数都给*language接收了,a和b永远也接收不了参数

 所以必须改写成如下代码:

复制代码
1 # -*- coding:utf-8 -*-2 def xue(*language,a,b): 3     print('我要学:',language,a,b) 4 xue('JC','PHP',a='java',b='Python')  #必须用关键字指定参数
复制代码

 这个时候a和b就有值了, 但是这样写呢位置参数就不能用了. 所以. 我们要先写位置参数,然后再用动态参数

复制代码
1 # -*- coding:utf-8 -*-2 def xue(a,b,*language): 3     print('我要学:',a,b,language) 4 xue('JC','PHP','java','Python')     #前两个参数用位置参数来接收,后面的参数用动态参数接收