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()

    运行结果如下:

  • 相关阅读:
    Drupal 学习笔记 (4)
    property和field有什么区别
    Razor4Orchard v1.2
    Mono喜迁新家http://www.xamarin.com/
    jq中获取属性名的方法
    jquery中的文档操作之五
    PHP基础知识之三
    php基础知识之一
    注意点
    jquery中ajax的学习之$.ajax()
  • 原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/10129261.html
Copyright © 2011-2022 走看看