正如jonsharpe所指出的,在定义Rectangle类中的test_Rectangle函数时,你做了错误的缩进
以下程序将起作用。在
编辑
之前我以为你已经从你的代码中给出了一个小的代码集,它复制了这个问题,因此并不关心如何改变解决方案,但现在已经更新了答案。在
更新
因为,测试函数在类内部,并且由于没有类的实例化,也没有通过这些实例调用测试函数,所以函数没有被调用。在
在下面的代码中,我将您自己的函数移到类定义之外并显式地调用它们。在from math import sqrt
class Rectangle(object):
def __init__(self, x0, y0, w, h):
self.x0 = x0
self.y0 = y0
self.w = w
self.h = h
def area(self):
return self.h*self.w
def perimeter(self):
return 2*self.w + 2*self.h
class Triangle(object):
def __init__(self, v1, v2, v3):
self.v1 = v1
self.v2 = v2
self.v3 = v3
def area(self):
x1, y1 = self.v1
x2, y2 = self.v2
x3, y3 = self.v3
return 1/2*abs(x2*y