Python函数参数



        Python中的函数参数主要有:无参数、位置参数、命名参数(关键字参数)、默认参数和可变参数(tuple型和dic型参数)。



1、无参数


        无参数的Python函数一般只用来完成一些简单的功能。





python参数个数 python 参数_args




2、位置参数


        当函数的参数是位置参数时,需根据传入函数的变量的位置来确定函数内部各个变量的值。




python参数个数 python 参数_函数参数_02




        函数func1()的参数是位置参数,其形参:a、b和c依据调用函数的传入参数进行赋值。如上图所示,在执行Python语句func1(1,2,3)时,将1,2,3依次赋值给a、b和c;同样在执行func1(1,3,2)时,将1,3,2依次赋值给a、b和c。



3、命名参数


        命名参数体现在函数的调用语句中,Python会依据传入参数的名字来确定命名参数的取值。如下图所示,无论a、b和c的位置怎么样变化,只要在调用函数的时候,利用形参的名字给函数的形参赋值,就可以将对应的值赋值给对应的形参。可知命名参数只不过是根据形参的名字确认对应的形参的传入值而已。




python参数个数 python 参数_python_03



4、默认参数


        函数的默认参数是在函数的定义的时候,赋给相应的变量一个初始值,当在调用该函数而没有给该变量赋值时,该变量将把初始值作为其值。




python参数个数 python 参数_python参数个数_04




        需要注意的是,当一个函数既有默认参数又有位置参数时,在进行函数定义时,一定要将位置参数放在默认参数前面。否则会出现如下错误:




python参数个数 python 参数_python_05




        另外,该函数func2(a,b,c=0)仍然可以按照命名参数的方式对形参进行赋值,如下图所示:




python参数个数 python 参数_python_06




5、可变参数


        为了能够更好的提高函数的适应性,Python提供两种接收可变参数的机制:tuple和dic。


        


5.1  tuple:


                tuple作为函数的参数的时候,函数可以接收不定长度的list作为函数的变量。




python参数个数 python 参数_args_07




        5.2  dic:



dic作为函数的参数的时候,函数可以接收不定长度的字典 作为函数的变量。




python参数个数 python 参数_args_08




5.3 tuple和dic混合参数


当tuple和dic混合作为函数的参数时,在定义函数时,先声明tuple再声明dic。如下图所示。




python参数个数 python 参数_python参数个数_09




(a)




python参数个数 python 参数_python_10




(b)




python参数个数 python 参数_args_11




(c)