Python 对象定向-返回一个值
这是我的密码 我想找到总秒数Python 对象定向-返回一个值,python,Python,这是我的密码 我想找到总秒数(持续时间(3,30))。总秒数应该给我210,但现在我得到了这个 如何获取210?您的方法没有问题,只是您必须调用该方法,而不是获取它: class Duration(object): def __init__(self, minutes, seconds): self.minutes = minutes self.seconds = seconds def get_minutes(self): re
(持续时间(3,30))。总秒数应该给我210
,但现在我得到了这个
如何获取210
?您的方法没有问题,只是您必须调用该方法,而不是获取它:
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()
注意total_seconds()
nottotal_seconds
当您在不使用()
的情况下调用它时,python会返回方法实例,但不会调用它。这应该是
>>> print((Duration(3, 30)).total_seconds())
210
在python中,函数是对象,可以打印。这就是您所看到的。如果您想跳过括号,请将总秒数设置为a:
现在它正是您想要的:
@property
def total_seconds(self):
这是对的。原来的代码是正确的,只是调用它的print
是错误的。好吧,那么如果我想要(持续时间(3,30))。总秒数)?@user3398505,这就是它将给出的。你的电话不正确。我所展示的是正确的。相同的结果。@user3398505:如果要将该方法视为属性,请使用@property
decorator。total_seconds是一个方法,您不会调用它。您正在获取对它的引用。请删除get
方法,因为您已经可以很好地访问seconds
和minutes
。
@property
def total_seconds(self):
>>> Duration(3, 30).total_seconds
210