If we're talking about data hiding, let me ask: why Python doesn't implement data hiding (I mean 'private' and 'protected')? I consider it a very important OOP feature, because that makes OOP different from structural programming.
Danny Yoo wrote: >> def handler(event): >> if buttonpressed == 1 : >> /#if the mousebutton is pressed and moved, circles should >> appear, but they do not/ >> can.create_oval(event.x-r, event.y-r, event.x+r, event.y+r, >> fill="orange") >> lab.config(text='buttonpressed=' + str(buttonpressed) ) > > > > The variables of functions are normally independent of each other. > That is, if I have a function square(): > > ############## > def square(x): > y = x * x > return y > ############## > > and if I have a function that uses square that itself has a 'y' > variable, I should not see interference: > > ############## > def test(): > y = 17 > print "square of y is", square(y) > print "y itself is", y > ############## > > This black-boxing is what allows us to write and reuse functions with > reckless abandon: their innards are meant not to interact with one > another. This is a feature that you usually want to have. > > > But for your purposes, you want some controlled form of leakage. Use > 'global' for this purpose by declaring the shared variable at the head > of your functions. Compare the results above to the ones below: > > ##################################### > def square(x): > global y > y = x * x > return y > > def test(): > global y > y = 17 > print "square of y is", square(y) > print "y itself is", y > ##################################### > > There's terse reference material here about global: > > http://www.python.org/doc/ref/global.html#l2h-558 > > It's idiomatic programming practice to limit the use of 'global' to > situations where it's necessary; using it in an uncontrolled way leads > to code that's difficult to read or reason with. There are more > sophsticated ways to share variables between functions. That being > said, though, the 'global' mechanism will probably be simplest for > your purposes. > > > Good luck to you! _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor