我不断得到
<__main__.Camera object at 0x02C08790>
我不知道为什么。
我希望代码基本上在一个循环中从 Calc_Speed 转到 Counter,然后返回到 Calc_Speed。
class Camera():
distance = 2
speed_limit = 20
number_of_cars = 0
def Calc_Speed(self):
registration = input("Registration Plate: ")
Speeding_List=[]
start = float(input("Start time: "))
end = float(input("End Time: "))
speed = self.distance/(end-start)
print(("Average Speed: ") + str(round(speed, 2)) + (" mph"))
if speed > self.speed_limit:
list3= [str(self.registration)]
Speeding_List.append(list3)
print("Vehicles Caught Speeding: " + str(Speeding_List))
return(program.Counter())
else:
print("Vehicle Not Speeding")
return(program.Counter())
def Counter():
self.number_of_cars = self.number_of_cars + 1
print("Number Of Cars Recorded: " + str(self.number_of_cars))
return(program.Calc_Speed())
program = Camera()
print(program)
当你只打印一个对象时,它会显示对象 ID(例如<__main__.Camera object at 0x02C08790>
),这对于我们凡人来说是完全无法理解的。您可以通过定义一个来解决这个问题__str__
or __repr__
函数以自定义方式显示实例的数据。
在你的情况下:
def __repr__(self):
return "<__main__.Camera: distance = " + str(self.distance) + "; speed_limit = " + str(self.speed_limit) + "; number_of_cars = " + str(self.number_of_cars) + ">"
如果有一个实例Camera
使用起始变量值,它将返回
"<__main__.Camera: distance = 2; speed_limit = 20; number_of_cars = 0>"
.
The <__main__.Camera object at 0x02C08790>
是系统记住它的方式,但除了显示它是什么类型的对象之外,它几乎没有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)