Since Python is a object oriented programming language then you can use things like classes to define a object, a class is a bunch of methods that act on the data that is stored within the class itself. You can store data within the class, but unlike c++/java/c# etc, there is no private/public/protected, everything is public accessible.
In the example below, the class constructor is called (__init__ method) and the first parameter is the class object itself, which is why it is there and for many reasons why it is called self as a variable name.
# self means the object itself. class mysimpleclass : __myvar = 0 def __init__(self,value = 0) : self.__myvar = value def printValue(self) : print self.__myvar simple = mysimpleclass(5) simple.printValue() |
the printValue method just does that, it will print the value that is sorted within the class object and here is the output
5 |
if you did not put in the self in the example above for printing out the class object variable __myvar as below
class mysimpleclass .... .... def printValue() : print __myvar |
the error would be
NameError: global name '_mysimpleclass__myvar' is not defined |
because the interrupter is looking for a global variable and not a variable attached to that object.