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

Python子类调用父类hand_score方法报AttributeError无属性错误

错误原因

你的代码没有建立正确的类继承关系:

  • 定义Dealer类时你指定的父类是object,和Hand类不存在继承关联
  • 你在Dealer.__init__中直接写Hand.__init__(self),本质是把Hand类的__init__当成普通函数调用,把当前Dealer实例传进去执行,只会给实例绑定hand属性,不会继承Hand类定义的其他实例方法,这就是为什么你能正常访问dealer.hand,但调用dealer.hand_score()会报属性不存在的错误。
修复方法

修改Dealer类的定义,显式声明它继承自Hand类,同时推荐使用super()调用父类初始化方法,避免硬编码父类名带来的维护问题,修复后的代码如下:

class Hand(object):
    def __init__(self):
        self.hand = []
        
    def hand_score(self):
        # 保留你原有的手牌计分逻辑即可
        ...
    
    
class Dealer(Hand):  # 声明Dealer继承Hand类
    def __init__(self):
        super().__init__()  # 调用父类初始化逻辑

修复完成后,Dealer实例会自动继承Hand类的所有属性和方法,可正常调用hand_score()。

内容的提问来源于stack exchange,提问作者Lucas Teixeira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 21:48:18