1.python类属性访问方式1:
class B:
def __init__(self,value=10):
self.size = value
def setSize(self,value):
self.size=value
def getSize(self):
return self.size
def delSize(self):
del self.size
属性访问:
b1 = B()
b1.setSize(5)
print b1.getSize
2.python类属性访问方式2:
python类属性访问方式2:
class B:
def __init__(self,value=10):
self.size = value
def setSize(self,value):
self.size=value
def getSize(self):
return self.size
def delSize(self):
del self.size
x = property(getSize,setSize,delSize)
属性访问:
b1 = B()
b1.x = 5
print b1.x
3. 判断该对象是否拥有某个属性:
print hasattr(b1,'size') 返回True 或 False
获取该对象某个属性:
print getattr(b1,'size')
设置该对象某个属性,属性存在则设置值,不存在则创建:
print setattr(b1,'name','new') 设置新属性name 为 new
4.类的属性和类的方法同名时, 属性会覆盖方法,即只有属性有效,方法不再有效。
例如:
class B:
def __init__(self,value=10):
self.size = value
def setSize(self,value):
self.size=value
def getSize(self):
return self.size
def delSize(self):
del self.size
def size(self):
print 'size func'
执行:
a = B()
print a.size 输出 10
print a.size() 出错