python学习(11)--python 函数默认参数

在Python中,函数默认参数是指在函数定义中为参数指定默认值的参数。当调用函数时,如果没有为默认参数提供值,那么将使用默认值。

函数默认参数的语法如下:

def function_name(parameter1=default_value1, parameter2=default_value2, ...):
    # 函数体

下面是一个使用默认参数的函数示例:

def greet(name, message="Hello"):
    print(f"{message}, {name}!")

greet("Alice")  # 不指定message参数,默认使用"Hello"
greet("Bob", "Hi")  # 指定message参数为"Hi"

输出结果:

Hello, Alice!
Hi, Bob!

在上述示例中,我们定义了一个名为greet的函数,它有两个参数:namemessagemessage参数被赋予了默认值"Hello"。当我们调用greet函数时,如果不传递message参数,则会使用默认值;如果传递了message参数,则会使用传递的值。

需要注意的是,默认参数通常在函数定义时就已经指定,而不是在函数调用时。

一些关于默认参数的注意事项:

  • 默认参数应该放在非默认参数之后。也就是说,如果一个函数既有默认参数又有没有默认值的参数,那么默认参数应该位于参数列表的末尾。
  • 默认参数的值在函数定义时被评估并分配,之后每次调用函数时都会使用相同的默认值。因此,如果默认值是可变对象(如列表或字典),修改默认值可能会影响后续函数调用。

以下是一个示例,说明后续函数调用中默认参数的行为:

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

print(add_item("apple"))  # 第一次调用默认参数,默认为空列表,添加"apple"
print(add_item("banana"))  # 第二次调用,默认参数为之前的列表,添加"banana"
print(add_item("cherry"))  # 第三次调用,默认参数为之前的列表,添加"cherry"

# 输出结果:
# ['apple']
# ['apple', 'banana']
# ['apple', 'banana', 'cherry']

在上述示例中,我们定义了一个名为add_item的函数,它有两个参数:itemitems(默认为一个空列表)。在每次函数调用时,如果没有明确提供items参数,将使用之前的列表。这导致在后续函数调用中,item元素会被添加到相同的列表中。

为了避免这种情况,可以将默认参数设置为None,并在函数内部检查参数是否为None,然后在需要时创建一个新列表。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值