温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

描述器学习小结

发布时间:2020-07-31 14:16:26 来源:网络 阅读:340 作者:c303112495 栏目:编程语言

描述器

描述器是一个类,这个类实现了__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__函数,这就是目前我理解的描述器的作用:将一个类包装为一个变量来使用。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI