Can global variable be passed into Python function?
Marko Rauhamaa
marko at pacujo.net
Sat Mar 1 13:25:51 EST 2014
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 but
simply use strings everywhere:
class Connection:
def __init__(self):
self.state = "IDLE"
def connect(self, address):
if self.state == "IDLE":
...
elif self.state == ...
The principal (practical) problem with that is that I might make a typo
and write:
if self.state == "IDLE ":
which could result in some hard-to-find problems. That's why I want get
the help of the Python compiler and always refer to the states through
symbolic constants:
if self.state == self.IDLE:
Marko
More information about the Python-list
mailing list