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

PyGame开发围棋:从NumPy数组提取Piece对象属性报错解决

问题描述

我正在使用PyGame开发围棋程序,定义了如下Piece类:

class Piece():

    def __init__(self,pos,colour):
        
        global circle
        super().__init__()
        self.show_colour = colour
        circle = pg.draw.circle(screen,color,(pos[0],pos[1]),20)

    def return_colour(self):
        return self.show_colour

将Piece对象存储在NumPy数组piece_board中,尝试通过piece_colour = piece_board[y][x].return_colour()提取该位置对象的颜色属性时,出现错误:

AttributeError: 'list' object has no attribute 'return_color'

我此前从未使用过类,怀疑是类的使用方式有误,尝试先获取对象再调用方法:

piece_type = piece_board[y][x]
piece_color = piece_type.return_color()

但仍出现相同错误。由于对类不太熟悉,不确定如何修改;尝试修改数组默认元素类型也未解决问题。

问题解决

打印piece_board[y][x]得到结果:[<__main__.Piece object at 0x000001603C98AE90>],才意识到该元素是一个列表。使用piece_colour = Piece.return_color(piece_board[y][x][0])后问题解决。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:42:22