[Tutor] declare a variable inside a class
Alan Gauld
alan.gauld at btinternet.com
Thu Feb 11 17:05:16 EST 2016
On 11/02/16 21:20, Peter Otten wrote:
>> defined within the formatter method, everything works, but when I pull it
>> out and put it in the upper level of the class, it gives me a traceback
>> that says the global variable xslt is not defined. Does that help?
>
> You need to qualify the class attribute with self to access it from within a
> method:
Or you could use the class name since it is a class attribute:
>>>> class MyClass:
> ... xslt = "/path/to/file"
> ... def some_method(self):
> ... print(MyClass.xslt)
If you need the possibility of having different paths for
different instances you need to initialise it in
an __init__() method:
class MyClass:
def __init__(self,path):
self.xslt = path
...
instance1 = MyClass('/some/path/here')
instance2 = MyClass('/another/path/here')
The way you have it currently both instances share the same path.
But that may be what you want.
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos
More information about the Tutor
mailing list