python笔记(十八) 描述符
程序员文章站
2022-06-22 17:41:51
之前写介绍过property函数也就是对属性的描述方法,比如添加,删除,更改class Celsius: 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...
之前写介绍过property
函数
也就是对属性的描述方法,比如添加,删除,更改
class Celsius:
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 Fahrenheit:
#将摄氏度转为华氏度
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 = Celsius()
fah = Fahrenheit()
函数中有三个参数,其中instance
就是实例化对象,也就是Temperature
我们创造出实例化对象temp
语句temp.cel
也就是使用Celsius
中的get
函数
语句temp.cel = 30
也就是用Celsius
中的set
函数fah
同理
所以这两个温度全是再靠一个instance
相连
本文地址:https://blog.csdn.net/yogur_father/article/details/107321333
推荐阅读
-
详解Python中的Descriptor描述符类
-
Python面向对象编程中关于类和方法的学习笔记
-
python学习笔记之调用eval函数出现invalid syntax错误问题
-
Python的装饰器用法学习笔记
-
python安装mysql-python简明笔记(ubuntu环境)
-
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
-
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
-
Python3.4学习笔记之列表、数组操作示例
-
Python3.4学习笔记之 idle 清屏扩展插件用法分析
-
Python3.4学习笔记之常用操作符,条件分支和循环用法示例