[学习记录]python装饰器gettersetter

Posted trickofjoker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[学习记录]python装饰器gettersetter相关的知识,希望对你有一定的参考价值。

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将函数变成类函数

 

以上是关于[学习记录]python装饰器gettersetter的主要内容,如果未能解决你的问题,请参考以下文章

Python学习记录day5

流畅的python第七章函数装饰器和闭包学习记录

python学习--装饰器生成器内置函数json

python学习笔记:装饰器生成器内置函数json

python学习笔记:装饰器生成器内置函数json

python装饰器详解,多层装饰器,及带参数的装饰器。