参数

  • 必需参数

  • 关键字参数

  • 默认参数

  • 不定长参数

必需参数

必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

def printme( str ):
   "打印任何传入的字符串"
   print (str)
   return

# 调用 printme 函数,不加参数会报错
printme()

以上实例输出结果:

Traceback (most recent call last):
  File "test.py", line 10, in <module>
    printme()
TypeError: printme() missing 1 required positional argument: 'str'

关键字参数

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。

使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

以上实例输出结果:

默认参数

调用函数时,如果没有传递参数,则会使用默认参数。

以上实例输出结果:

不定长参数

你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。

语法

加星号*的参数

加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。

实例:

以上实例输出结果:

加两个星号**的参数

加了两个星号 ** 的参数会以字典的形式导入。

实例:

以上实例输出结果:

强制位置参数

  1. 如果单独出现星号 * 后的参数必须用关键字传入。

  2. 语法 / 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。

形参 a 和 b 必须使用指定位置参数,c 或 d 可以是位置形参或关键字形参,而 e 或 f 要求为关键字形参。

最后更新于