VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python装饰器之property()详解(2)

其实有两种方法。

 

方法一:使用 属性函数property()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Normal:
    def __init__(self):
        self.__x = None
    def getx(self):
        print('getx(): self.__x='self.__x)
        return self.__x
    def setx(self, value):
        self.__x = value
        print('setx()')
    def delx(self):
        print('delx()')
        del self.__x
    = property(getx, setx, delx, "I'm a property")
tN=Normal()
tN.y=10
tN.y
del tN.y
#输出结果:
setx()
getx(): self.__x= 10
delx()

直接把方法当属性来操作了,非常方便

方法二:使用 @property 装饰器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Normal:
    
    def __init__(self):
        self.__x = None
    @property
    def xx(self):
        print('getx(): self.__x='self.__x)
        return self.__x
    
    @xx.setter
    def xx(self, value):
        self.__x = value
        print('setx()')
    @xx.deleter
    def xx(self):
        print('delx()')
        del self.__x
tN=Normal()
tN.xx=10
tN.xx
del tN.xx
#输出结果信息:
setx()
getx(): self.__x= 10
delx()

相关教程