<__main__. object at 0x02C08790> PYTHON -
i new python , have saw question before none of answers have worked me. keep getting
<__main__.camera object @ 0x02c08790>
and don't know why! code below , appreciate if @ , tell me how make sure sure flows correctly! edit: code go calc_speed counter , calc_speed in loop , sorry indentation errors
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)
when print object, shows object id (like <__main__.camera object @ 0x02c08790>
), totally indecipherable mortals. can around defining __str__
or __repr__
function display data instance in custom way.
in case:
def __repr__(self): return "<__main__.camera: distance = " + str(self.distance) + "; speed_limit = " + str(self.speed_limit) + "; number_of_cars = " + str(self.number_of_cars) + ">"
if there instance of camera
starting variable values, return
"<__main__.camera: distance = 2; speed_limit = 20; number_of_cars = 0>"
.
the <__main__.camera object @ 0x02c08790>
how system remembers it, aside showing type of object is, it's useless.
Comments
Post a Comment