what is the difference between name and _name?

luofeiyu elearn2014 at gmail.com
Wed Aug 20 03:16:56 EDT 2014


When i learn property in python , i was confused by somename and _somename,what is the difference between them?

class Person(object):
     def __init__(self, name):
         self._name = name
     def getName(self):
         print('fetch....')
         return self._name
     def setName(self, value):
         print('change...')
         self._name = value
     def delName(self):
         print('remove....')
         del self._name
     name = property(getName, setName, delName, "name property docs")


>>> bob._name
'Bob'
>>> pt=Person("peter")
>>> pt.name
fetch....
'peter'
>>> pt._name
'peter'
>>> pt.name="tom"
change...
>>> pt._name="tom"
>>> pt._name
'tom'
>>> pt.name
fetch....
'tom'




More information about the Python-list mailing list