[学习记录]python装饰器、getter、setter

1.装饰器

一般以@开头,后面紧跟着一个函数,例如flask中的url设置就是一种装饰器

 

2.getter与setter

这里用代码来解释

1 class Student(object):
2     
3     @property
4     def score(self):
5         return self._score
6 
7     @score.setter
8     def score(self, value):
9         self._score=value

第一个@property将score变成了一个getter,同时允许创建@score.setter

如果不创建@score.setter则该属性将变成只读

虽然定义的属性为Student._score,但是实际调用为Student.score

 

3.其它有用的装饰器

@staticmethod可以将函数直接变成静态函数,即在没有实例的情况下仍然允许调用

@classmethod将函数变成类函数

 

posted @ 2019-06-20 19:45  冷血无情康纳酱  阅读(841)  评论(0编辑  收藏  举报