1 回答

TA贡献1817条经验 获得超14个赞
在 Python 中,您不需要像在 Java、C#、C++ 等中那样声明参数的类型。Python 是动态类型的,因此解释器会在运行时找出您传递的对象。
更改您的代码如下:
class Spot:
def __init__(self, x, y, piece):
self.x = x
self.y = y
self.piece = piece
如果你真的想指定数据类型,你可以使用 Python 的一个功能,称为类型提示,如下所示:
class Spot:
def __init__(self, x: int, y: int, piece: Piece):
self.x = x
self.y = y
self.piece = piece
其他一些指示:
您不需要使用比较布尔运算符x == True,您可以简单地返回布尔变量x,这将具有相同的效果。
你应该在 Python 中始终使用 snake_case,而is_white不是iswhite.
您不需要Piece像那样初始化类中的变量。您可以__init__直接使用默认参数在方法中执行此操作。因此,如果用户未提供参数,则默认值将用于该参数。
class Piece:
def __init__(self, white=False, killed=False):
self.white = white
self.killed = killed
def is_white(self):
return self.white
def is_killed(self):
return self.killed
添加回答
举报