I'd like to set up something like this:
a=0
class b:
def__init__(self, foo):
self.foo = foo
def create():
global a
a=a+1
a=b("FOO")
Where the number 1 will define the instance (I'm not sure if define is the write word, whatever you put before the equals sign when your creating an instance)
The problem is, I can't. Obviously a would identify the instance instead of 1. I tried using dictionaries, but again the computer took it leterally - d{x} was the identity, not 1. Any suggestions?
[/code]
Well, I'm a little confused. In this case, do you want to create an instance of class b with foo == 1?
If so, then you would do this:
class b:
def __init__(self, foo)
self.foo = foo
a = b(foo=1) # Create instance of b class, assign it to a.
or even shorter,
a = b(1) # Python will automagically assign self = b and foo = 1.
Some other thoughts:
(1) It's best to make all your classes the 'new style' class
class b(object): # this inherits from Python's 'object' base class
rather than
class b:
because it will allow things like public properties. You need something like Python 2.3 or higher to use new-style classes.
(2) By convention, class names are capitalized.
class B(object):
(3) Global variables are like garlic: best used sparingly.
Hope it helps,
Jeff