跳到主要内容

简述如何使用默认参数声明某些函数 ?

参考答案:

在Python中,你可以在函数定义时为某些参数提供默认值,这就是所谓的默认参数。默认参数允许你在调用函数时省略某些参数,而函数会使用你在定义时指定的默认值。这在创建具有多种用途的函数时非常有用。

下面是一个简单的例子来说明如何使用默认参数:

def greet(name='World'):
    print(f'Hello, {name}!')

# 调用函数时没有提供参数,因此使用默认值 'World'
greet()  # 输出: Hello, World!

# 调用函数时提供了一个参数,因此不使用默认值
greet('Python')  # 输出: Hello, Python!

在这个例子中,greet 函数有一个名为 name 的参数,其默认值为 'World'。当我们调用 greet()(没有提供任何参数)时,name 参数会使用默认值 'World',因此输出会是 Hello, World!。然而,当我们调用 greet('Python') 并提供一个参数时,name 参数会使用我们提供的值 'Python',因此输出会是 Hello, Python!

注意,默认参数只会在函数定义时计算一次。如果你将可变的对象(如列表或字典)作为默认参数,并且函数修改了该对象,那么每次调用函数时都会看到这个修改。因此,通常建议将不可变的对象(如整数、字符串、元组或冻结集)用作默认参数,或者将 None 用作默认参数,并在函数内部创建一个新的可变对象。例如:

def add_to_list(item, my_list=None):
    if my_list is None:
        my_list = []
    my_list.append(item)
    return my_list

# 调用函数时,my_list 会是一个新的空列表
list1 = add_to_list('apple')  # 输出: ['apple']
list2 = add_to_list('banana')  # 输出: ['banana']