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

Python技术问题:输出指定内容及解决‘Person’对象无‘Food’属性报错

问题解决:'Person' object has no attribute 'Food' 及输出问题

你的代码存在两个关键错误,导致了报错和无法正常输出:

  • 没有在构造方法中将传入的参数绑定为实例属性
  • 方法缩进错误,导致方法不属于类的成员

修正后的代码

class Person:
    def __init__(self, Food):
        # 将传入的Food参数赋值为实例属性,供类内方法调用
        self.Food = Food
    
    # 调整缩进,让FindFood成为类的成员方法
    def FindFood(self):
        # 用f-string优化字符串拼接,更简洁易读
        print(f"my fav food is {self.Food}")

p1 = Person("cake")
p1.FindFood()

修改说明

  1. 绑定实例属性:在__init__方法中添加self.Food = Food,把外部传入的参数保存为实例的属性,这样FindFood方法就能通过self.Food访问到对应的值。
  2. 修正方法缩进:将FindFood方法的缩进调整到和__init__同级,使其成为Person类的成员方法,实例才能正常调用它。
  3. 字符串拼接优化:用f-string替代直接加号拼接,避免因类型不匹配导致的潜在问题,同时代码更直观。

内容的提问来源于stack exchange,提问作者Rina Kim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 10:57:43