📅  最后修改于: 2023-12-03 14:50:32.272000             🧑  作者: Mango
在 Python 中,参数输入是指将值、表达式或其他对象传递给函数或方法。这些参数可以在调用函数时直接指定,也可以在函数定义中默认赋值。本文将介绍 Python 中的参数输入方法以及使用。
在 Python 中,函数参数有四种类型:位置参数、默认参数、可变参数和关键字参数。下面将对每种参数类型进行介绍。
位置参数是指通过位置对函数进行传参的方式。在调用函数时,参数的位置和定义函数时的位置需一一对应,否则会导致语法错误。例如,以下代码定义了一个计算两个数之和的函数:
def add_numbers(a, b):
return a + b
调用该函数时,需要传入两个参数,分别对应 a
和 b
:
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 中的参数输入方法包括四种类型:位置参数、默认参数、可变参数和关键字参数。不同的参数类型支持不同的使用方式,可以根据实际情况进行选择。 在实际开发中,应根据函数的用途来选择合适的参数类型和参数数量。