Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python

Elizabeth McInerney
Elizabeth McInerney
3,175 Points

Object Oriented Python/Inheritance/Instance Methods

I am around 3:30 in this video, and I don't understand why he does not use self.weapon_choice in the method get_weapon(self). Instead, he just uses weapon_choice =. Could someone explain? I don't seem to get when you preceed a value with self. and when you do not.

Elizabeth McInerney
Elizabeth McInerney
3,175 Points

I am thinking that you don't need the self.variable when the variable is only used inside of the method. Perhaps self helps something get passed around the class, into and out of methods.

1 Answer

Kenneth Love
STAFF
Kenneth Love
Treehouse Guest Teacher

self is for attributes or methods of the current instance. If the variable is just used inside of a method, there's no reason to tie it to self.