You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建支持可选参数的Python类deposit方法?

解决方法:给函数参数设置默认值

你遇到的错误核心是当前的deposit方法强制要求传入两个参数,而调用时只传了amount。要实现“支持可选参数+默认值”的需求,只需要在函数定义时给description指定默认值即可,这是Python处理可选参数的标准方式。

修改后的代码

直接简化你的函数,去掉冗余的判断逻辑:

def deposit(self, amount, description=""):
    self.ledger.append({"amount": amount, "description": description})

为什么这样可行?

  • 在函数定义里,description=""表示如果调用时没有传入这个参数,就自动使用空字符串作为它的值。
  • 这样不管你是调用clothing.deposit(25.55)(只传amount),还是clothing.deposit(25.55, "买T恤")(传两个参数),方法都能正常运行。
  • 原来的if-else判断完全没必要,因为不管description是默认的空字符串还是你传入的自定义内容,构造字典的逻辑是一致的,直接复用参数值就行。

测试一下你提到的用例clothing.deposit(25.55),现在会自动把description设为空字符串,完美符合你的预期~

内容的提问来源于stack exchange,提问作者Fred B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:11:19