OK, so I am reading on OOP in Python, and I am an old C/C++ programmer so I have somewhat high expectations :).
My question is regarding private/public variables. Per default, all class data members are public, but if we precede them with a double underscore, they become private.
1) In the following, why can't I access data? It is private, so it should be available to only class methods, which output is:
class Test(): __data = 1 def output(self): print Test.data ins = Test() ins.output()
2) The following is OK, i.e. I can't access the data member from outside the class:
class Test(): __data = 1 def output(self): print Test.data ins = Test() print ins.data
3) In the following, why can I access the private member data from the outside?
class Test(): __data = 1 def output(self): print Test.data Test.data = 2
Any help is appreciated.
Edited 5 Years Ago by Niles64: n/a