Accessing Module variables from another Module

Bruno Desthuilliers bruno.42.desthuilliers at wtf.websiteburo.oops.com
Wed Sep 5 09:30:10 EDT 2007


cjt22 at bath.ac.uk a écrit :
> On Sep 5, 1:22 pm, Bruno Desthuilliers <bruno.
> 42.desthuilli... at wtf.websiteburo.oops.com> wrote:
>> cj... at bath.ac.uk a écrit :
>>
>>> Hi
>>> I am new to Python (I have come from a large background of Java) and
>>> wondered if someone could explain to me how I can access variables
>>> stored in my main module to other functions within other modules
>>> called
>>> from this module
>> (snip code)
>>> I am currently just passing the variable in as a parameter
>> And this is the RightThing(tm) to do.
>>
>>> but I thought with Python there would be a way to gain direct access
>>> to
>>> storeList within the modules called from the top main module?
>> Yes : passing it as a param !-)
>>
>> For other modules to get direct access to main.storeList, you'd need
>> these modules to import main in these other modules, which would
>> introduce circular dependencies, which are something you usuallay don't
>> want. 

(NB : the canonical solution to circular dependencies is to move the 
relevent definitions to a third module.)

> Also, and while it's ok to read imported modules attributes, it's
>> certainly not a good idea to mutate or rebind them IMHO, unless you're
>> ok with spaghetti code.
> 
> Cheers Bruno, I just wanted to make sure I was being consistent with
> the "Python way of things" :)

Then fire up your python shell and type 'import this' !-)




More information about the Python-list mailing list