On 24 mei, 15:58, Ben Finney <[EMAIL PROTECTED]> wrote: > Sh4wn <[EMAIL PROTECTED]> writes: > > first, python is one of my fav languages, and i'll definitely keep > > developing with it. But, there's 1 one thing what I -really- miss: > > data hiding. I know member vars are private when you prefix them with > > 2 underscores, but I hate prefixing my vars, I'd rather add a keyword > > before it. > > From whom are you trying to hide your attributes? > > In Python, the philosophy "we're all consenting adults here" applies. > You shouldn't pretend to know, at the time you write it, all the uses > to which your code will be put. Barriers such as enforced "private" > attributes will only cause resentment when people, despite your > anticipations, *need* to access them and are then forced to hack their > way around them. > > If you want the users of your code to know that an attribute should > not be used as a public API for the code, use the convention of naming > the attribute with a single leading underscore. This is a string > signal that the attribute is part of the implementation, not the > interface. The reader is then on notice that they should not rely on > that attribute; but they are not *prohibited* from using it if > necessary to their ends. > > > Python advertises himself as a full OOP language, but why does it > > miss one of the basic principles of OOP? > > Who taught you that enforced restrictions on attribute access was a > "basic principle" of OO? > > Perhaps you're confusing the "encapsulation" and "abstraction" > principles for enforced access restrictions; they're not. > > > Will it ever be added to python? > > I hope not. > > -- > \ "Why was I with her? She reminds me of you. In fact, she | > `\ reminds me more of you than you do!" -- Groucho Marx | > _o__) | > Ben Finney
Well for me, it the ideal way to make sure it contains so 'wrong' data. You can create getter/setters, and in some cases only a getter and validate the value given by the user. Then you'll not have to worry about the data in the rest of your class, which makes life a lot easier IMO. -- http://mail.python.org/mailman/listinfo/python-list