python类绑定和未绑定错误

时间:2014-09-09 08:59:45

标签: python

from string import *
import math

class Shape(object):
    def area(self):
        raise AttributeException("Subclasses should override this method.")

class Square(Shape):
    def __init__(self, h):
        """
        h: length of side of the square
        """
        self.side = float(h)
    def area(self):
        """
        Returns area of the square
        """
        return self.side**2

如何启用方法区域以使其返回值。形状是某种超类吗? 我尝试过像

这样的事情
p=Shape(3.0) 

p=Square(3.0)

然后

p.area

2 个答案:

答案 0 :(得分:2)

需要调用方法来返回值:

p = Square(3.0)
p.area()  # Notice the ()

更具体地说:

  • p.area是方法本身。
  • p.area()调用该方法并返回其值。

答案 1 :(得分:0)

您创建对象Square:

s = Square(3.0)

调用 init 方法,您现在可以访问值s.side。

您可以调用对象的方法。

Ar = s.area()

Ar包含对象的方法area()返回的值。