欢迎访问宙启技术站
智能推送

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 参数,该参数将覆盖默认值而使用。此参数的默认值在定义函数时进行指定,也可以根据自己的实际情况进行调整。

本文提到的三种参数传递方式可以配合使用,例如我们可以使用位置参数和默认参数结合使用,来达到我们的目的。但是在使用过程中,要注意参数的顺序和可读性,保证代码的可维护性和可扩展性。