python Property

print '--------------begin-MyProperty------------------'
# fget:获取属性
# fset:设置属性
# fdel:删除属性
# doc:属性含义
class MyProperty(object):
    def __init__(self):
        self._name = None

    def setName(self, name):
        self._name = name

    def getName(self):
        return self._name

    def delName(self):
        del self._name

    name = property(getName, setName, delName, "I am Name Property")


a = MyProperty()
print MyProperty.name.__doc__

a.name = "Lily"
print a.name

try:
    del a.name
    print a.name
except Exception, e:
    print e
print '--------------end-MyProperty------------------'
print '--------------begin-MyProperty2------------------'


class MyProperty2(object):
    def __init__(self):
        self._name = None

    @property  #必须写在另外两个方法前面
    def name(self):#说明属性可读
        return self._name

    @name.setter #说明name属性可写
    def name(self, name):
        self._name = name

    @name.deleter
    def name(self):
        del self._name


e

a = MyProperty2()
print MyProperty2.name.__doc__

a.name = "Lily"
print a.name

try:
    del a.name
    print a.name
except Exception, e:
    print e


--------------begin-MyProperty------------------
I am Name Property
Lily
'MyProperty' object has no attribute '_name'
--------------end-MyProperty------------------
--------------begin-MyProperty2------------------
None
Lily
'MyProperty2' object has no attribute '_name'



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值