How to pass a global variable to a module?
python at mrabarnett.plus.com
Tue Sep 29 20:50:10 CEST 2009
Mars creature wrote:
> On Sep 29, 12:49 pm, "Rami Chowdhury" <rami.chowdh... at gmail.com>
>> On Tue, 29 Sep 2009 09:40:29 -0700, Mars creature <jin... at gmail.com> wrote:
>>> Dear Python users,
>>> I just start to use python and love this language. I met this
>>> problem when I try to save my functions in a separate file.
>>> The question is how I can pass a global variable to a function which
>>> is saved in another file. If I save the function I defined in the same
>>> file with the main program, there is no problem after I declare the
>>> global variable. But problem comes out when I save all the function is
>>> a separate file. Help is very much appreciated! Thanks!
>> In Python, as in many other languages, I'd advise that you think about
>> whether your variable needs to be global, or whether you could (or should)
>> simply pass the variable to the function as a parameter.
>> Rami Chowdhury
>> "Never attribute to malice that which can be attributed to stupidity" --
>> Hanlon's Razor
>> 408-597-7068 (US) / 07875-841-046 (UK) / 0189-245544 (BD)
> Thank you guys for the prompt and helpful response.
>>From the link Gregor posted, it seems no way to share variable between
> I can understand the point that global variables tends to mess up
> Assume that I have 10 parameters need to pass to the function. If
> these parameters are fixed, I can use another module to store these 10
> parameters, and import to the module, as suggested by jean-michel. But
> what if these 10 parameters will be changed in the main program?
> Passing the variable to the function as a parameter suggested by Rami
> will certainly do, but I am wondering weather there are other ways.
> What you'd like to code it?
If there are a lot of them then an alternative is to pass them in some
sort of contains, such as a dict or an object:
>>> class Params(object):
>>> params = Params()
>>> params.x = 'foo'
More information about the Python-list