Python 函数默认参数 list

在Python中,函数的参数可以设置默认值,这样在调用函数时如果不传入参数,则会自动使用默认值。当一个函数有多个参数时,我们可以为其中的某些参数设置默认值,这样可以简化函数的调用。本文将介绍如何在Python函数中使用默认参数list,并给出一些示例。

默认参数list的定义

在Python中,可以在定义函数时给参数设置默认值,包括list类型的参数。例如:

def greet(name, greetings=['Hello']):
    for greeting in greetings:
        print(f"{greeting}, {name}!")

在上面的例子中,函数greet接受一个name参数和一个默认参数greetings,其中greetings的默认值是一个包含一个元素'Hello'的list。

调用带有默认参数list的函数

当调用带有默认参数list的函数时,可以不传入第二个参数,这样函数就会使用默认的值。例如:

greet('Alice')
# 输出:Hello, Alice!

greet('Bob', ['Hi', 'Hey'])
# 输出:Hi, Bob!
# 输出:Hey, Bob!

在第一个例子中,我们只传入了一个参数'Alice',函数使用了默认的greetings['Hello']。在第二个例子中,我们传入了一个参数'Bob'和一个新的greetings['Hi', 'Hey'],函数会使用传入的值而不是默认值。

默认参数list的注意事项

需要注意的是,默认参数list是在函数定义时创建的,而不是每次调用函数时都创建。这意味着如果默认参数是可变对象(比如list),并且在函数中对这个对象进行了修改,那么下一次调用函数时会得到修改后的值。例如:

def add_item(item, items=[]):
    items.append(item)
    return items

print(add_item('apple'))
# 输出:['apple']

print(add_item('banana'))
# 输出:['apple', 'banana']

在上面的例子中,函数add_item默认参数items是一个空list[]。每次调用函数时如果不传入items参数,都会使用同一个默认list对象。所以第一次调用时返回['apple'],第二次调用时默认参数值已经包含了'apple',所以返回['apple', 'banana']

类图

下面是一个使用默认参数list的函数在类图中的表示:

classDiagram
    class Function {
        - name
        - default_parameters: list
        + __init__(name, default_parameters)
        + call(args)
    }

在类图中,Function类有一个私有属性default_parameters用来存储默认参数list,在初始化时传入参数namedefault_parameters,调用函数时传入参数列表args

总结

本文介绍了如何在Python函数中使用默认参数list,并且给出了一些示例。通过设置默认参数list,可以简化函数调用并提高代码的可读性。需要注意的是默认参数list是在函数定义时创建的,因此在函数中对默认参数list进行修改会影响下一次函数调用的结果。希望本文对你有所帮助!