class Time:
def __init__(self,x,y,z):
self.hour=x
self.minute=y
self.second=z
def __str__(self):
return "({:02d}:{:02d}:{:02d})".format(self.hour, self.minute, self.second)
def time_to_int(time):
minutes=time.hour*60+time.minute
seconds=minutes*60+time.second
return seconds
def int_to_time(seconds):
time=Time()
minutes,time.second=divmod(seconds,60)
time.hour,time.minute=divmod(minutes,60)
return time
def add_time(t1,t2):
seconds=time_to_int(t1)+time_to_int(t2)
return int_to_time(seconds)
start=Time(9,45,00)
running=Time(1,35,00)
done=add_time(start,running)
print(done)
我是 python 的新手,最近一直在做一些练习。我遇到了一个问题,我已经为它编写了代码。但是我反复收到错误消息:“add_time is not defined”。我尝试定义一个 main() 方法,但它没有打印任何东西。请帮忙。
原文由 mathers25 发布,翻译遵循 CC BY-SA 4.0 许可协议
您尚未为上述类创建对象。
类中的任何函数/方法只能由该类的对象访问。有关面向对象编程基础知识的更多信息,请查看 此 页面。
同时为了使它起作用,请按以下方式定义您的类:
在类块之外,写下以下几行:
然而,我建议你在类之外编写 add_time 函数,因为你将对象作为参数传递给类,作为同一类中函数的参数,这在面向对象编程中被认为是一个糟糕的设计。希望能帮助到你。干杯!