Apr-30-2017, 08:30 PM
Hello everyone, this is my first post on this (or any) forum. Python is my first programming language, and I am learning it on my own time as a hobby. I am using a couple of different books (Python Crash Course and Learn Python the Hard Way) to get started and working through the exercises as they come up. I am currently working with modules and classes. I keep getting a NameError that says "Self is not defined" and I'm not quite sure I understand why. My question is I'm not exactly sure what my error is and how to correct it (?)
class Dog(object): """A simple attempt to model a dog.""" def __init__(self, name, age): """Initialize name and age attributes.""" self.name = name self.age = age def sit(self): """Simulate a dog sitting in response to a command.""" print(self.name.title() + " is now sitting.") def roll_over(self): """Simulate rolling over in response to acommand.""" print(self.name.title() + " rolled over!") my_dog = Dog('willie', 6) print("My dog's name is " + my_dog.name.title() + ".") print("My dog is " + str(my_dog.age) + " years old.")This produces:
Error:Traceback (most recent call last):
File "dog.py", line 1, in <module>
class Dog(object):
File "dog.py", line 9, in Dog
print(self.name.title() + " is now sitting.")
NameError: name 'self' is not defined
P.S. I apologize if I didn't word my question or problem correctly, or if there is a thread identical to this. I'm not totally sure how to begin asking something like this. Thanks for any response!