Using properties
tkpmep at hotmail.com
tkpmep at hotmail.com
Wed May 25 10:06:06 EDT 2005
I have a class with a name attribute, which I want to modify using
property.The following code works just fine:
class Portfolio(object):
def __init__( self, name="Port1"):
self.name=name
def getname(self):
return self._name
def setname(self,newname="Port2"):
self._name=newname
name=property(getname,setname,None,None)
However, it no longer works if I modify getname and setname to
def getname(self):
return self.name
def setname(self,newname="Port2"):
self.name=newname
Why is it so critical to have getname and setname modify _name and not
name? The constructor does not make name a private attribute, so why do
getname and setname have to treat it as such?
Thomas Philips
More information about the Python-list
mailing list