python 中@property的使用

从14年下半年开始接触到python,自学了一段时间,后又跟别人学习了下,把基础知识基本上学过了。忽然感觉python不可能这么简单吧,就这么点东西?后来看了下书,发现还有很多的高级部分。连续看了两天,把装饰符@看了下,记录下。

@装饰符的作用就是类里的方法变成属性使用,比直接调用方法要直接简单

直接上代码(没有@的):

1 class Student(object):
2     def get_age(self):
3         return self.__age=29        
4     def set_age(self,age):        
5         self.__age=age    
6 s=Student()
7 print s.get_age()
8 s.set_age(15)
9 print s.get_age()

带有@的:

 1 class Student(object):
 2     @property
 3     def age(self):
 4         return self.__age=55   
 5     @age.setter     
 6     def age(self,age):        
 7         self.__age=age    
 8 s=Student()
9 print s.age
10 s.age=15 11 print s.age

假如没有设置@age.setter,该age就是只读的,不能写。

posted @ 2015-03-06 20:38  熠然  阅读(409)  评论(0编辑  收藏  举报