Python - 位置参数



位置参数

定义函数时括号中声明的 List 变量是形式参数。而且,这些参数也称为位置参数。函数可以使用任意数量的形式参数进行定义。

在调用函数时 -

  • 所有参数都是必需的。
  • 实际参数的数量必须等于形式参数的数量。
  • 它们按定义顺序选取值。
  • 参数的类型必须匹配。
  • 形式参数和实际参数的名称不必相同。

位置参数示例

让我们讨论一些位置参数的例子 -

示例 1

以下示例显示了位置参数的用法。


def add(x,y):
	 	z = x+y
	 	print ("x={} y={} x+y={}".format(x,y,z))
a = 10
b = 20
add(a, b)

它将产生以下输出 -

x=10 y=20 x+y=30

这里,add() 函数有两个形式参数,都是数字。当整数 10 和 20 传递给它时。变量 “a” 取 10 个,“b” 取 20 个,按声明顺序排列。add() 函数显示添加。

示例 2

当参数数量不匹配时,Python 也会引发错误。如果只给出一个参数并检查结果,则会看到错误。


def add(x,y):
	 	z=x+y
	 	print (z)
a=10;
add(a)

生成的错误将如下所示 -

TypeError: add() missing 1 required positional argument: 'y'

示例 3

同样,如果您传递的正式参数数量超过正式参数的数量,将生成一个错误,说明相同的 -


def add(x,y):
	 	z=x+y
	 	print ("x={} y={} x+y={}".format(x,y,z))
add(10, 20, 30)

以下是输出 -

TypeError: add() takes 2 positional arguments but 3 were given

示例 4

相应的实际参数和形式参数的数据类型必须匹配。将 a 更改为 string 值并查看结果。


def add(x,y):
	 	z=x+y
	 	print (z)
a="Hello"
b=20
add(a,b)

它将产生以下错误 -

z=x+y
~^~
TypeError: can only concatenate str (not "int") to str

位置参数和关键字参数之间的区别

下表解释了位置参数和关键字参数之间的区别 -

位置参数 关键字参数
仅使用参数的名称将数据传递给给定的函数。 关键字参数以 name=value 形式传递给函数。
参数按照函数声明中定义的顺序传递。 在传递参数时,可以更改它们的顺序。
语法: function(param1, param2,...) 语法: function(param1 = value1,...)