python 3.6.4
jupyter notebook
windows 7
首先,我们定义一个打印用户名的函数,参数为users。代码示例如下: def user_info(users): print(users)
接着,向函数传递参数'Albert'并调用函数。代码示例如下: user_info('Albert')
然后,我们再试着向函数传递'Albert','Elva'两个参数以调用函数。此时系统报错了,因为定义的函数使用的是位置参数,只允许传递一个参数。代码示例如下:user_info('Albert','Elva')
为了改进上面的代码,我们在定义函数时,在参数前面加个 * 。代码示例如下: def user_info(*users): print(users)
接着,向函数传递参数'Albert'并调用函数。此时的打印结果跟之前的结果稍有不同,结果是一个只有一个元素的元组形式。代码示例如下: user_info('Albert')
然后,我们再试着向函数传递'Albert','Elva'两个参数以调用函数。此时,函数正常地运行了,显示结果依然是一个元组的形式。代码示例如下: user_info('Albert','Elva')
接下来将位置参数跟带 * 的参数结合一起使用,重新定义一个函数。代码示例如下: def user_info(day,*users): print(day,users)
接着,向函数传递参数1,'Albert','Elva','Lily'等4个参数并调用函数。此时的打印结果中,参数1单独输出,而另外3个参数被封装成了一个元组输出。代码示例如下: user_info(1,'Albert','Elva','Lily')
1、位置参数形式固定,个数也固定;2、带 * 的形参实际应用中可传递多个实参,实参以元组形式输出;3、位置参数跟带 * 的形参可混合使用,位置参数在前并单独输出,带 * 的参数在后并以元组形式输出。