python 类属性

来源:互联网 发布:mac好用的vpn 编辑:程序博客网 时间:2024/05/17 04:17

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 = 5print 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         输出 10print a.size()       出错




原创粉丝点击