Re: Global Variables in OOP and Python



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
.



Relevant Pages

  • Global Variables in OOP and Python
    ... I have questions about global variables in OOP and Python ... be accessed by a number of classes that exists in separate namespaces ...
    (comp.lang.python)
  • Re: Global Variables in OOP and Python
    ... I have questions about global variables in OOP and Python ... be accessed by a number of classes that exists in separate namespaces ... You can even add runtime parameters to the module during your initialization code, and those will be available wherever Parameters is imported: ...
    (comp.lang.python)
  • Re: Global Variables in OOP and Python
    ... > I have questions about global variables in OOP and Python ... > in all of the files (namespaces) where it is needed. ...
    (comp.lang.python)
  • Re: How to pass a global variable to a module?
    ... I just start to use python and love this language. ... problem when I try to save my functions in a separate file. ... 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 simply pass the variable to the function as a parameter. ... I can understand the point that global variables tends to mess up ...
    (comp.lang.python)
  • Problem with global variables
    ... I'm having a vexing problem with global variables in Python. ... for tmp in foo: ...
    (comp.lang.python)