私有,封装

 1 # --------------------------------------私有-封装------------------------------------------------
 2 class person():
 3 #     def setname(self,name):
 4 #         self.name = name
 5 #     def getname(self):
 6 #
 7 #         print('name is:%s'%self.name)
 8 #         return self.name
 9 #
10 # p1= person()
11 # p1.setname('lili')
12 # p1.name = 'llll'
13 # p1.getname()
14 
15 
16     @property       #装饰器,设置函数功能
17     def name(self):
18         return self.__name
19     @name.setter
20     def name(self,name):
21         self.__name = name
22 
23     def info(self):
24         print('name is:%s'%self.__name)
25 
26 p1 = person()
27 p1.name = 'lili'
28 
29 p1.info()

有装饰器后就不用再调用类的get、set(自己设置的)方法来设置私有属性的值,(类的私有属性只能在类内部才能调用,不能再外部直接调用或更改,要使用类内部的更改方法,比如自定义的set),比如上面代码中,对象就可以直接更改属性,而没有用到类里的更改方法

原文地址:https://www.cnblogs.com/x991788x/p/13531553.html