Mars creature wrote:
<snip>
I can understand the point that global variables tends to mess up
programs.

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?
Thank you very much!
Jinbo

If we're just talking generalities, we can give you general advice. Avoid globals like the plague. Except for constants, each global should require a lot of justification to permit its use. There's no harm in passing 10 parameters to a function. And if some of them are related to each other, group them in a tuple, or an object. If two functions seem to have a need to share data without passing it back and forth, they probably belong in a class.

Most of the justifiable globals are already there in the standard libraries, or at least a good analogy. For example, stdout is used by print, wherever it occurs. Likewise you may want a global logging object. These are things which act a lot like constants, even though they have internal state.

DaveA

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to