Global Variables in OOP and Python
Brian van den Broek
broek at cc.umanitoba.ca
Fri Dec 30 21:20:52 EST 2005
Gary Herron said unto the world upon 30/12/05 08:03 PM:
> newbie wrote:
>
>
>>Hello,
>>
>>I have questions about global variables in OOP (in general) and Python
>>(in specific). I understand (I think) that global variables are
>>generally not a good idea. However, if there are variables that need to
>>be accessed by a number of classes that exists in separate namespaces
>>(files), what would be the best way to do this?
>>
>>So far, I have approached the problem by making the variables
>>attributes of one class and passing instances of the class as variables
>>to the other class' methods.
>>
>>The other way I thought of is to create a separate class that consists
>>of the variables and to use the
>>
>
>>from <file name> import *
>
>>
>>
>
> That form is deprecated. Better (and certainly clearer to any reader of
> the code) is to leave them in the module.
>
> Define a module, say Parameters, that defines any number of variables
> containing useful values. Then
> import Parameters
> wherever you want and refer to
> Parameters.a
> and
> Parameters.b
<snip>
An other variant seems rarely to come up.
import Parameters as P
provides almost all the brevity of the * variant and none of the dangers.
Best to all,
Brian vdB
More information about the Python-list
mailing list