[Jack Diederich] >> Classes have a unique property in that they are the easiest way to make >> little namespaces in python.
[Greg Ewing] > For a while now, I've been wondering whether it would > be worth having a construct purely for creating little > namespaces, instead of abusing a class for this. FWIW, I do not consider it an abuse to use a class to create a small namespace. Essentially that is what it is for -- it matters not whether the class has no methods. What I've been wanting is the ability to easily define functions directly into an existing namespace: class A: pass def A.mymethod(x): return x+1 The latter definition is equivalent to: A.mymethod = lambda(x): x+1 This ability to inject function definitions into an existing namespace is the one missing piece to enable clean use of Protocol OO techniques: a = Object.copy() b = a.copy() def b.f(x): return x+1 c = b.copy() def c.f(x): return x+2 Raymond _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com