描述器学习小结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了描述器学习小结相关的知识,希望对你有一定的参考价值。
描述器
描述器是一个类,这个类实现了__get__
和__set__
,__delete__
方法的类,其作用就是可以将一个类以变量的形式调用,看例子:
class WebFramework(object):
def __init__(self, name=‘Flask‘):
self.name = name
def __get__(self, instance, owner):
return self.name
def __set__(self, instance, value):
self.name = value
class PythonSite(object):
webframework = WebFramework()
这是在网上找的一个例子,可以看出WebFramework是一个描述器,在PythonSite中,我们创建了一个WebFramework的实例,然后我们来看看如何使用描述器:
In [1]: PythonSite.webframework
Out[1]: ‘Flask‘
In [2]: PythonSite.webframework = ‘Tornado‘
In [3]: PythonSite.webframework
Out[3]: ‘Tornado‘
可以看出,webframework就如同PythonSite的一个变量一样,赋值取值都是类似变量类似,在获取值的时候调用描述器类的__get__
函数,在赋值时调用__set__
函数,这就是目前我理解的描述器的作用:将一个类包装为一个变量来使用。
以上是关于描述器学习小结的主要内容,如果未能解决你的问题,请参考以下文章