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就是只读的,不能写。
直面挑战,躬身入局