
在Python中,函数可以定义带有默认值的参数,这些参数被称为默认参数(Default Arguments)。当调用函数时如果没有为这些参数提供值,那么它们就会使用默认值。
下面是如何定义和使用带有默认参数的函数的例子:
def greet(name, greeting="Hello"):
"""根据提供的问候语来问候某人。如果未提供,则使用默认问候语“Hello”。"""
print(f"{greeting}, {name}!")
# 调用示例
greet("Alice") # 使用默认问候语 "Hello"
greet("Bob", "Hi") # 提供了不同的问候语 "Hi"
在这个例子中,greet 函数有两个参数 name 和 greeting。greeting 参数有一个默认值 "Hello"。因此,当你调用 greet("Alice") 时,它将打印 Hello, Alice!。而当你调用 greet("Bob", "Hi") 时,它将打印 Hi, Bob!。
需要注意的是:
- 默认参数必须位于非默认参数之后。
- 如果你希望默认参数能够保存状态(例如列表或字典),最好使用
None作为默认值并在函数内部初始化这些可变对象。这是因为 Python 中的默认参数只初始化一次,在多次调用函数时会共享同一个对象。
这里有一个使用 None 的例子:
def append_items(item, items=None):
if items is None:
items = []
items.append(item)
return items
# 调用示例
print(append_items("apple")) # ['apple']
print(append_items("banana")) # ['banana']
如果你对默认参数有更具体的问题或者需要进一步的解释,请随时告诉我!