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

在Employee类中调用apply_raise方法无结果,为何未实现4%薪资增长?

问题原因与解决方案

你的apply_raise方法调用后没有返回结果,核心原因是这个方法没有定义return语句——它只是在内部修改了实例的self.pay属性,Python中没有return的函数/方法默认返回None,所以你调用时看不到任何返回结果。

两种解决方式:

  • 方式一:给方法添加返回语句
    修改apply_raise方法,让它返回更新后的薪资:

    def apply_raise(self):
        self.pay = int(self.pay * 1.04)
        return self.pay  # 返回更新后的薪资
    

    这样调用emp_1.apply_raise()时,就会直接得到增长后的薪资数值。

  • 方式二:调用方法后访问实例属性
    因为apply_raise已经修改了实例的pay属性,调用方法后直接访问该属性就能拿到结果:

    # 创建实例
    emp_1 = Employee("Alice", "Smith", 50000)
    # 调用涨薪方法
    emp_1.apply_raise()
    # 查看更新后的薪资
    print(emp_1.pay)  # 输出52000
    

对比你的fullname方法,它明确用return返回了拼接后的全名,所以调用时能拿到结果;而apply_raise只做了内部修改,没有返回值,这就是两者的区别。

内容的提问来源于stack exchange,提问作者Arindam ghosh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:36:17