Python函数参数详解:了解Python函数的参数类型和使用方法
在Python中,函数参数是我们在函数定义中给出的输入变量。函数参数可以是必需的(参数必须传递),也可以是可选的(参数可以省略不传)。函数参数分为位置参数、默认参数、可变参数和关键字参数四种,下面将对每一种进行详细介绍。
一、位置参数
位置参数是一个非常常见的参数类型。指定参数名字后,根据位置传递参数值,参数按照位置一一对应。也就是说,当你想确保按顺序传入参数时,就应该使用位置参数。
def add(x, y):
sum = x + y
return sum
print(add(2, 3))
在函数定义中,参数名称x和y是位置参数。在调用函数时,需要按照定义参数的顺序传参。在上述代码中,2被传递给x,3被传递给y。因此,结果为5。
二、默认参数
默认参数是指在函数的定义中给参数指定了默认值。如果没有传递参数,则默认使用给定的值。默认参数可以是任何类型的参数。
def add(x, y, z=0):
sum = x + y + z
return sum
print(add(2, 5))
print(add(2, 5, 7))
在上述代码中,z是一个默认参数,它被分配值0。在 次调用函数add时,只传递了两个参数x和y(2, 5)。没有传递z参数,因此函数使用了默认参数z=0来计算结果。在第二次调用函数时,z的值被设置为7。
三、可变参数
可变参数允许你传递任意数量的参数值给函数,无需事先定义参数的数量。将星号(*)用于参数前,即可定义可变参数。当多个参数的数量不确定时,就应该使用可变参数。
def add(*args):
sum = 0
for x in args:
sum += x
return sum
print(add(3,5,7))
print(add(4,7,8,9,2))
在上述代码中,参数*args允许传递任意数量的参数到函数add()中。使用循环对所有传入的参数进行求和。在 次调用函数时,参数是(3,5,7),在第二次调用函数时,参数是(4,7,8,9,2)。
四、关键字参数
关键字参数是与位置参数和默认参数不同的一种参数类型。指定参数名后直接传递参数值,参数名称和值用冒号分隔,同时也可以使用等号分隔。这种方式易于使用且可避免传递参数时的混乱情况。
def print_name(first, last, middle=''):
if middle != '':
full_name = first + ' ' + middle + ' ' + last
else:
full_name = first + ' ' + last
return full_name.title()
print(print_name(first='john', last='doe'))
print(print_name(first='john', middle='c', last='doe'))
在上述代码中,first和last是位置参数,middle是一个默认为空字符串的关键字参数。在 次调用函数时,只传递了两个关键字参数first和last。填充middle参数,因为middle是一个默认为空字符串的关键字参数。在第二次调用函数时,传递了三个参数first、middle和last。
总结
本文简要介绍了Python中四种类别的函数参数:位置参数、默认参数、可变参数和关键字参数。掌握这些参数类型,能够让我们更深入的理解Python函数并且对编写Python程序有更深入的认识。
