Python函数的参数传递——位置参数、关键字参数、默认参数等
发布时间:2023-06-15 04:41:08
Python是一门高级编程语言,其中函数是非常重要的一部分,对于函数的参数传递有三种方式:位置参数、关键字参数、默认参数。
1. 位置参数
位置参数是一种最常见的函数参数传递方式,就是我们平时所见到的传参方式,就是按照函数定义时参数的位置来传递实参。例如:
def sum(a, b):
return a + b
print(sum(1, 2)) # 输出 3
这里就是按照方法定义时参数的位置来传递实参的。注意,如果按照位置传递实参,传递的实参的顺序必须与函数定义时所列举的参数顺序相同。
2. 关键字参数
关键字参数和位置参数不同,它是根据函数定义时的参数名进行匹配的,这样通常会让代码更加具有可读性。例如:
def describe_pet(animal_type, pet_name):
'''显示宠物信息'''
print("
I have a " + animal_type + ".")
print("My " + animal_type + "'s name is " + pet_name.title() + ".")
# 使用关键字参数,指定参数的值,不需要按照函数定义时的顺序进行传参
describe_pet(animal_type='hamster', pet_name='harry')
使用关键字参数调用函数时,由于参数与值一一对应,因此不需要按照函数定义时的参数顺序进行传递参数。这样做可以使代码更加具有可读性,也更加人性化。
3. 默认参数
默认参数是指在函数定义时,指定参数的一个默认值,在调用函数时,如果没有传递该参数的值,将会使用这个默认值。例如:
def greet(name, msg="Good morning!"):
"""
This function greets to the person with the
provided message.
If message is not provided, it defaults to
"Good morning!"
"""
print("Hello", name + ', ' + msg)
# 对 msg 参数不传值时会默认是 "Good morning!"
greet("Jack")
greet("Bruce", "How do you do?")
当调用函数时不传递 msg 参数时,将会使用函数定义时指定的默认值,而不是抛出异常或错误。如果传递了 msg 参数,该参数将覆盖默认值而使用。此参数的默认值在定义函数时进行指定,也可以根据自己的实际情况进行调整。
本文提到的三种参数传递方式可以配合使用,例如我们可以使用位置参数和默认参数结合使用,来达到我们的目的。但是在使用过程中,要注意参数的顺序和可读性,保证代码的可维护性和可扩展性。
