📅  最后修改于: 2023-12-03 15:37:05.097000             🧑  作者: Mango
在编程中,我们会使用参数来传递给函数或方法不同的输入值。这样就能让自己在代码中避免使用硬编码,从而使代码更加灵活和易于维护。
位置参数是最常见和最简单的类型。当调用函数时,必须按照函数定义中参数的顺序提供值,否则会出现 TypeError。
def greet(name, msg):
print("Hello", name + ', ' + msg)
greet("Alice", "Good morning!")
输出结果为:
Hello Alice, Good morning!
关键字参数与位置参数不同,调用函数时不需要按照函数定义中参数的顺序提供值,而是通过参数名来传递参数值。
def greet(name, msg):
print("Hello", name + ', ' + msg)
greet(msg="Good morning!", name="Alice")
输出结果为:
Hello Alice, Good morning!
默认参数在定义函数时就已经设定了默认值,如果在调用函数时没有传递参数,则会使用默认值。
def greet(name, msg="Good morning!"):
print("Hello", name + ', ' + msg)
greet("Alice")
输出结果为:
Hello Alice, Good morning!
不定长参数允许传递任意数量的参数给函数。在参数前加上一个 *
表示这是一个元组类型的参数,如果添加两个 *
则表示是一个字典类型的参数。
# 处理元组类型的参数
def greet(*names):
for name in names:
print("Hello", name)
greet("Alice", "Bob", "Charlie")
输出结果为:
Hello Alice
Hello Bob
Hello Charlie
# 处理字典类型的参数
def person_detail(**details):
for key, value in details.items():
print(key + ':', value)
person_detail(name='Alice', age=25, occupation='Programmer')
输出结果为:
name: Alice
age: 25
occupation: Programmer
在编程中,参数是非常常用的一个文法,灵活使用可以使代码变得更加易于维护和可读。我们可以通过位置参数、关键字参数、默认参数和不定长参数来掌握它的用法,了解它的优点和应用场景。