Python3调用函数时可以设定一些参数,可使用的正式参数类型有以下四种:必需参数、关键字参数、默认参数和不定长参数。
必需参数
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
调用 printme() 函数,你必须传入一个参数,不然会出现语法错误:
以上实例输出结果:
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
以下实例在函数 printme() 调用时使用参数名:
以上实例输出结果:
以下实例中演示了函数参数的使用不需要使用指定顺序:
以上实例输出结果:
默认参数
调用函数时,如果没有传递参数,则会使用默认参数。以下实例中如果没有传入 age 参数,则使用默认值:
以上实例输出结果:
不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。基本语法如下:
加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
以上实例输出结果:
如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。如下实例:
以上实例输出结果:
还有一种就是参数带两个星号 **基本语法如下:
加了两个星号 ** 的参数会以字典的形式导入。
以上实例输出结果:
声明函数时,参数中星号 * 可以单独出现,例如:
如果单独出现星号 * 后的参数必须用关键字传入。