我需要添加一个eq方法,如果坐标指向平面中的同一点(即,具有相同的x和y坐标),并且不知道如何执行该操作,则返回True。你知道吗
我尝试了一些使用eq的代码,但仍然有错误,我不太清楚原因。你知道吗
class Coordinate(object):
def __init__(self, x, y):
self.x = x
self.y = y
def getX(self):
# Getter method for a Coordinate object's x coordinate.
# Getter methods are better practice than just
# accessing an attribute directly
return self.x
def getY(self):
# Getter method for a Coordinate object's y coordinate
return self.y
def __str__(self):
return '<' + str(self.getX()) + ',' + str(self.getY()) + '>'
def __eq__(Coordinate, otherPoint):
if self.GetX() == otherPoint.getX()&& self.GetY() == otherPoint.getY()
return True
x=5
y=5
如果两个坐标是相同的数字,则预期输出将返回true;如果x和y不是相同的数字,则预期输出将返回false。你知道吗
很多小错误。。。你知道吗
GetX
与getX
不同if
语句的末尾需要一个:
__init__
子句的缩进错误&&
在python中不存在,它被称为and
__eq__
函数并不总是返回,它需要一个else
子句,或者直接返回布尔表达式__eq__
的第一个参数必须是self
代码中的一些问题/修复
GetX
和GetY
,您可以直接引用属性x
和y
。你知道吗&&
在Python中不是有效语法,而是使用and
__eq__
的第一个参数将是self
f-strings
格式化字符串,否则可以使用格式化字符串TypeError
,以确保other
的类型为Coordinate
因此,更新后的代码
然后你可以像下面这样使用这个类
相关问题 更多 >
编程相关推荐