描述器学习小结-创新互联-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

描述器学习小结-创新互联

描述器

描述器是一个类,这个类实现了__get____set____delete__方法的类,其作用就是可以将一个类以变量的形式调用,看例子:

创新互联建站是一家企业级云计算解决方案提供商,超15年IDC数据中心运营经验。主营GPU显卡服务器,站群服务器,南充服务器托管,海外高防服务器,机柜大带宽租用·托管,动态拨号VPS,海外云手机,海外云服务器,海外服务器租用托管等。
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__函数,这就是目前我理解的描述器的作用:将一个类包装为一个变量来使用。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:描述器学习小结-创新互联
标题来源:http://kswsj.cn/article/dpihsj.html

其他资讯