Python Forum
NameError 'odometer' not defined - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: NameError 'odometer' not defined (/thread-22756.html)



NameError 'odometer' not defined - rfernandez15 - Nov-25-2019

I keep getting a name error for odometer. I am following a textbook example and I seem to have everything correct according to the book. PLEASE HELP!
class Car():
	def __init__(self, make, model, year):
		self.make = make
		self.year = year
		self.model = model
		self.odometer = 0
	
	def get_descriptive_name(self):
		long_name = str(self.year) + ' ' + self.make + ' ' + self.model
		return long_name.title()
		
	def read_odometer(self):
		print('this car has' + str(odometer) + ' miles on it.')
	
		
mycar = Car('audi', 'a4' , 2016)
print(mycar.get_descriptive_name())
mycar.odometer = 23
mycar.read_odometer()



RE: NameError 'odometer' not defined - ichabod801 - Nov-25-2019

Line 13 should have 'self.odometer' instead of 'odometer'. It's an instance attribute, so you need to reference the instance.