class Area(object):
def __init__(self, base, height):
self.base = base
self.height = height
def calculation(self):
return(self.base * self.height)
area = Area(15, 2)
print(Area.calculation())
CodePudding user response:
The Area
in your print()
is capitalized, while your variable area
is not. That means that you are calling the Area Object instead of the variable.
This should work :
class Area(object):
def __init__(self, base, height):
self.base = base
self.height = height
def calculation(self):
return(self.base * self.height)
area = Area(15, 2)
print(area.calculation())
CodePudding user response:
You are calling the class object's calculation
method (Area.calculation
), instead of calling the calculation
method of the Area
instance (area.calculation
). This works:
class Area(object):
def __init__(self, base, height):
self.base = base
self.height = height
def calculation(self):
return self.base * self.height
area = Area(15, 2)
print(area.calculation())
Note the removed parentheses around the return
argument - they are unnecessary as return
is a keyword, not a function.