我试图通过在python中创建某种chess克隆来提醒自己OO编程,并发现自己现在的问题。你知道吗
我想给每一块板上的一个'标识符'变量,以便它可以显示在屏幕上,例如:bR将表示一辆黑色的车。然而,我不知道如何建立这一点,因为颜色是一个被继承到rook类的变量,而不是它的一部分。你知道吗
这可能是一个愚蠢的问题,但我也考虑过使用uuu str_uuuuuuu函数来显示,但我也遇到了类似的问题。下面是我的代码。你知道吗
我可以使用另一个\uuu init \uuuu变量,但我不希望必须指定每个pawns标识符(p),因为pawn类肯定可以为我做同样的事情?你知道吗
class piece(object):
identifier = ' '
def __init__(self, colour):
self.colour = colour
class rook(piece):
identifier = 'R'
rookA = rook('b')
我希望实现:
print(rookA.identifier)
"bR"
或者
print(rookA)
"bR"
如果我做这项工作的方式不对,请提出一个替代方案!你知道吗
谢谢
通过定义
__str__
、在piece
上定义并返回self.colour + self.identifier
来获取所需的值是没有问题的:现在,当您打印
rook
的实例时,您将得到想要的结果:我不确定您在使用
__str__
时遇到了什么问题,但这绝对是正确的方法。你知道吗相关问题 更多 >
编程相关推荐