📜  参数输入 python (1)

📅  最后修改于: 2023-12-03 14:50:32.272000             🧑  作者: Mango

参数输入 Python

在 Python 中,参数输入是指将值、表达式或其他对象传递给函数或方法。这些参数可以在调用函数时直接指定,也可以在函数定义中默认赋值。本文将介绍 Python 中的参数输入方法以及使用。

函数参数

在 Python 中,函数参数有四种类型:位置参数、默认参数、可变参数和关键字参数。下面将对每种参数类型进行介绍。

位置参数

位置参数是指通过位置对函数进行传参的方式。在调用函数时,参数的位置和定义函数时的位置需一一对应,否则会导致语法错误。例如,以下代码定义了一个计算两个数之和的函数:

def add_numbers(a, b):
    return a + b

调用该函数时,需要传入两个参数,分别对应 ab

result = add_numbers(2, 3)  # 传入的参数分别是 2 和 3
print(result)  # 输出 5
默认参数

默认参数是指在定义函数时给某一个参数提供默认值。在调用函数时,如果没有传递该参数,则会使用其默认值。例如,以下代码定义了一个带有默认参数的函数:

def greet(name, greeting='Hello'):
    return f"{greeting}, {name}!"

调用该函数时,如果只传入一个参数,那么默认 greeting 为 'Hello':

result = greet('John')  # 输出 'Hello, John!'

如果需要自定义 greeting,可以传入第二个参数:

result = greet('John', 'Hi')  # 输出 'Hi, John!'

注意,当定义函数时给某个参数提供了默认值后,该参数就变成了关键字参数,即调用函数时需要使用参数名来传递该参数。

可变参数

可变参数是指函数能够接受任意个数的参数。在函数定义时,在某个参数前面加上一个星号 *,即可用来接受任意个数的位置参数。例如,以下代码定义了一个接受任意个数位置参数的函数:

def multiply(*numbers):
    result = 1
    for number in numbers:
        result *= number
    return result

调用该函数时,可以传入任意个数的位置参数:

result = multiply(2, 3, 4)  # 输出 24
result = multiply(2, 3, 4, 5)  # 输出 120

注意,可变参数在调用时需要放在所有参数的最后。

关键字参数

关键字参数是指用来接受键值对的参数,即传入的参数要带上对应的参数名,这样在函数内部就能轻易地访问到这些参数名和值。在函数定义时,在某个参数前面加上两个星号 **,即可用来接受任意个数的关键字参数。例如,以下代码定义了一个接受任意个数关键字参数的函数:

def print_info(**info):
    for key, value in info.items():
        print(f"{key}: {value}")

调用该函数时,可以传入任意个数的关键字参数:

print_info(name='John', age=30, gender='male')
# 输出:
# name: John
# age: 30
# gender: male
调用函数时使用参数

函数调用时,可以使用上述四种参数类型的组合。在调用函数时,如果传入了多个值,则先传入位置参数,然后是关键字参数。例如,以下代码定义了一个计算两个数之和的函数,同时提供了默认参数:

def add_numbers(a, b=0):
    return a + b

调用该函数时,可以传入一个或两个参数,在传入两个参数时可以使用位置参数或关键字参数:

result = add_numbers(2)  # 等价于 add_numbers(a=2, b=0),输出 2
result = add_numbers(2, 3)  # 等价于 add_numbers(a=2, b=3),输出 5
result = add_numbers(b=3, a=2)  # 使用关键字参数,输出 5

注意,如果同时使用位置参数和关键字参数,则位置参数必须在关键字参数的前面。

总结

Python 中的参数输入方法包括四种类型:位置参数、默认参数、可变参数和关键字参数。不同的参数类型支持不同的使用方式,可以根据实际情况进行选择。 在实际开发中,应根据函数的用途来选择合适的参数类型和参数数量。