[Tutor] Global values & import scope
Kent Johnson
kent37 at tds.net
Wed Jan 24 12:09:18 CET 2007
Wesley Brooks wrote:
> Dear Users,
>
> I'm using global values to create a unique ID, or name for each
> instance of a class. If I import the following in one file and test it
> it works fine. If the following class was imported in two different
> files run by the same program would each instance of the class have a
> unique name, or would they only be unique within the scope of the file
> which contains the import of the bellow class?
>
> itemID = 0
> class AssemblyItem:
> def __init__(self):
> global itemID
> self.ID = "assemblyItem" + str(itemID)
> itemID += 1
That will work fine. When a module is imported twice, the second import
received a cached copy of the same module; the module is only
instantiated once. The variable itemID will just exist in one place, in
the single instance of the module, and AssemblyItems created from
different clients will all share the same counter.
Kent
More information about the Tutor
mailing list