Linuxguy123 <linuxguy...@gmail.com> wrote: > How do I do this in Python ? > > ############################# > declare A,B > > function getA > return A > > function getB > return B > > function setA(value) > A = value > > function setB(value) > B = value > > main() > getA > getB > dosomething > setA(aValue) > setB(aValue) > ############################ > > The part I don't know to do is declare the variables, either as globals > or as vars in a class. How is this done in Python without setting them > to a value ?
Variables can have any value in python so if you want to pre-declare then you set them to None normally. As a class :- class Stuff(object): def __init__(self): self.A = None self.B = None def getA(self): return self.A def getB(self): return self.B def setA(self, value): self.A = value def setB(self, value): self.B = value >>> a = Stuff() >>> print a.getA() None >>> print a.getB() None >>> # dosomething ... a.setA("aValue") >>> a.setB("aValue") >>> print a.getA() aValue >>> print a.getB() aValue >>> Note that in python we don't normally bother with getA/setA normally, just use self.A, eg class Stuff(object): def __init__(self): self.A = None self.B = None def main(self): print self.A print self.B # dosomething self.A = "aValue" self.B = "aValue" print self.A print self.B >>> a = Stuff() >>> a.main() None None aValue aValue >>> If you need (later) A to be a computed value then you turn it into a property, which would look like this. (Note the main method is identical to that above). class Stuff(object): def __init__(self): self._A = None self.B = None def _getA(self): print "Getting A" return self._A def _setA(self, value): print "Setting A" self._A = value A = property(_getA, _setA) def main(self): print self.A print self.B # dosomething self.A = "aValue" self.B = "aValue" print self.A print self.B >>> a = Stuff() >>> a.main() Getting A None None Setting A Getting A aValue aValue >>> -- Nick Craig-Wood <n...@craig-wood.com> -- http://www.craig-wood.com/nick -- http://mail.python.org/mailman/listinfo/python-list