On Sep 14, 4:38 pm, de...@web.de (Diez B. Roggisch) wrote: > lallous<lall...@lgwm.org> writes: > > How can I keep the class private and have the following work: > > > [code] > > class __internal_class(object): > > @staticmethod > > def meth1(s): > > print "meth1:", s > > > @staticmethod > > def meth2(s): > > print "meth2:", > > __internal_class.meth1(s) > > > x = __internal_class() > > > x.meth2('sdf') > > [/code] > > By not using a double underscore. It is effectless on classes anyway > (they are not hidden because of that). > > And additionally, but simply not using staticmethods at all. It's a > rather obscure feature ofpython- usually, classmethods are what is > considered a static method in other languages. And with that, even your > double underscores work: > > class __internal_class(object): > @classmethod > def meth1(cls, s): > print "meth1:", s > > @classmethod > def meth2(cls, s): > print "meth2:", > cls.meth1(s) > > x = __internal_class() > > x.meth2('sdf') > > Diez
Thanks, that does the trick. -- http://mail.python.org/mailman/listinfo/python-list