class Duration(object):
def __init__(self, minutes, seconds):
self.minutes = minutes
self.seconds = seconds
def get_minutes(self):
return self.minutes
def get_seconds(self):
return self.seconds
def total_seconds(self): #This part is wrong
return 60*(self.get_minutes()) + self.get_seconds()
这是我的代码。
我想要找到(Duration(3, 30)).total_seconds)
给我210
的总秒数,但现在我得到<bound method Duration.total_seconds of <__main__.Duration object at 0x0211AD90>>
了
我如何获得210
?
答案 0 :(得分:1)
您没有任何问题,只需要调用该方法而不是获取它:
>>> print((Duration(3, 30)).total_seconds())
210
注意total_seconds()
而非total_seconds
当你在没有()
的情况下调用它时,python返回方法实例但不调用它。
答案 1 :(得分:0)
这应该是
print((Duration(3, 30)).total_seconds())
^^
在python中,函数是对象,可以打印。这就是你所看到的。
答案 2 :(得分:0)
如果您希望能够跳过括号,请将total_seconds
设为property
:
@property
def total_seconds(self):
现在它完全符合您的要求:
>>> Duration(3, 30).total_seconds
210