zoukankan      html  css  js  c++  java
  • python描述符详解

    1描述符:

    描述符是指将某种特殊类型的类的实例支配给另外一个类的属性。

    对于特殊类型必须实现以下三个方法中至少一个方法:
       def __get__(self,instance,owner):

    -用于访问属性,它返回属性的值

     

    def __set__(self,instance,value):

    -将在属性的分配操作中调用,不返回任何内容

     

    def __delete__(self,instance):

    -控制删除操作,不返回任何内容

    2温度类的举例:

    要求:

    (1)定义一个温度类,然后定义两个描述符类用于描述摄氏温度和华氏温度两个属性;

    (2)要求两个属性之间可以相互自动转换。

     

    实现代码如下:

    class Cel:

        def __init__(self,value=26.0):

            self.value=float(value)

           

        def __get__(self,instance,owner):

            return self.value

       

        def __set__(self,instance,value):

            self.value=float(value)

                   

    class Fah:

        def __get__(self,instance,owner):

            return instance.cel*1.8+32

       

        def __set__(self,instance,value):

            instance.cel=(float(value)-32)/1.8

     

    class Temperature:

    cel=Cel()

    fah=Fah()

    运行结果如下:

  • 相关阅读:
    融云使用
    cocoaPods使用
    电脑硬件
    拖图UI和纯代码UI
    7.2内存管理-ARC
    7内存管理-MRC
    数据刷新
    5.1音频播放
    2.6核心动画
    Git常用操作
  • 原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/10129261.html
Copyright © 2011-2022 走看看