Injecting a global into a defined function??
James Mills
prologic at shortcircuit.net.au
Thu Jan 15 23:13:05 EST 2009
On Fri, Jan 16, 2009 at 1:59 PM, Cong Ma <cma at mail.bnu.edu.cn> wrote:
> I've thought of this too, but it turns out those functions are related to each
> other very loosely. They do a lot of completely different things independently
> and have just one common global variable to share. IMHO it would reduce the
> readability of code because the role of this class is very unclear. Anyway,
> "readability" is mostly a subjective matter and I think what you pointed out is
> a good idea in general.
So then the other commonly used pattern
is a shared object between two other objects.
class Env(object):
def __init__(self):
self.spam = None
class A(object):
def __init__(self, env):
self.env = env
def __call__(self):
self.env.spam = "Eggs"
class B(object):
def __init__(self, env):
self.env = env
def __call__(self):
self.env.spam = "Bacon"
Very readable and makes perfect sense if it suits you.
cheers
James
More information about the Python-list
mailing list