On Sun, 15 Jan 2006 18:41:02 -0800, David Hirschfield <[EMAIL PROTECTED]> wrote:
> I want a class that, when instantiated, only defines certain methods > if a global indicates it is okay to have those methods. So I want > something like: > global allow > allow = ["foo","bar"] > class A: > def foo(): > ... > def bar(): > ... > def baz(): > ... > any instance of A will only have a.foo() and a.bar() but no a.baz() > because it wasn't in the allow list. > I hope that makes sense. I think so, at least in the "I can implement that idea" sense, although not the "why would you need such a strange animal" sense. Since "class" is an executable statement in Python, this ought to do it: allow = ["foo", "bar"] class A: if "foo" in allow: def foo( ): ... if "bar" in allow: def bar( ): ... > Don't ask why I would need such a strange animal ... Consider yourself not asked. HTH, Dan -- Dan Sommers <http://www.tombstonezero.net/dan/> -- http://mail.python.org/mailman/listinfo/python-list