Python函数的参数传递及类型限制
Python函数的参数传递方式包括位置参数、关键字参数和可变参数。在Python中,参数传递是按照引用传递的方式进行的。
位置参数是指按照函数定义时参数的位置来进行传递的方式,严格按照位置来进行传递。例如:
def function_name(arg1, arg2):
pass
function_name(value1, value2)
这里,arg1对应value1,arg2对应value2,位置对应。
关键字参数是指在传递参数时,使用参数名进行传递的方式。例如:
def function_name(arg1, arg2):
pass
function_name(arg1=value1, arg2=value2)
这里,arg1对应value1,arg2对应value2,参数名对应。
可变参数包括默认参数和不定长参数。默认参数是在定义函数时给出的、不必须传值的参数,例如:
def function_name(arg1, arg2="default"):
pass
function_name(value1)
这里只传了一个值,Python将会使用默认值。
不定长参数包括‘*’和‘**’,‘*’用来传递一个元组类型的不定长参数,‘**’用来传递一个字典类型的不定长参数,例如:
def function_name(arg1, *args, **kwargs):
pass
function_name(value1, value2, value3, arg2=value4, arg3=value5)
这里,*args将value2, value3装入一个元组中,**kwargs将arg2=value4和arg3=value5装入一个字典中。
Python对于函数参数类型的限制比较灵活,并不会限制参数的类型。但是Python的类型推导机制和类型注释可以帮助我们理清函数的参数类型,增强代码的可读性。
一个简单的例子:
def add(a: int, b: int) -> int:
return a + b
这个函数接收两个整数型的参数,并返回整数类型的结果。类型注释让我们对函数有了更好的认识,更好的维护和理解代码。
