Can global variable be passed into Python function?
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Sat Mar 1 18:13:22 EST 2014
On Sat, 01 Mar 2014 20:25:51 +0200, Marko Rauhamaa wrote:
> Steven D'Aprano <steve+comp.lang.python at pearwood.info>:
>
>> It seems to me that he's just assuming that symbols ought to be
>> singletons, hence his focus on identity rather than equality.
>
> Yes.
>
> A practical angle is this: if I used strings as symbols and compared
> them with "==", logically I shouldn't define them as constants
That doesn't follow. There is no logical connection between using named
constants (well, pseudo-constants, constants by convention only) and ==.
You can do both, or neither, or either one, whichever suits you.
You might as well say that when you have float constants:
TAU = 6.283185307179586
that "logically" implies that you are prohibited in asking whether
another float is less than or greater than TAU.
[...]
> The principal (practical) problem with that is that I might make a typo
> and write:
>
> if self.state == "IDLE ":
Then used named constants.
if self.state == IDLE:
See how easy it is? Just replace "is" with == unless you have a good
reason for caring about identity instead of equality.
--
Steven D'Aprano
http://import-that.dreamwidth.org/
More information about the Python-list
mailing list