描述符
Posted 月为暮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了描述符相关的知识,希望对你有一定的参考价值。
# 描述符,相当于一个代理 class Str: def __init__(self,name): self.name = name # 取值操作时使用 # instance:传入对象 # owner:对象的类 def __get__(self, instance, owner): print("get--->",instance,owner) # 返回对象的name属性 return instance.__dict__[self.name] # 赋值操作时使用 def __set__(self, instance, value): print("set-->",instance,value) # 设置属性 instance.__dict__[self.name] = value # 删除操作时使用 def __delete__(self, instance): print("delete——--》",instance) instance.__dict__.pop(self.name) class People: name=Str(‘name‘) print(name) def __init__(self,name,age,salary): self.name=name print(self.name) self.age=age self.salary=salary p1 = People(‘wangconng‘,21,-1000) # 调用 print(p1.__dict__) p1.name # 赋值 print(p1.__dict__) p1.name = ‘cong‘ print(p1.__dict__) #删除 print(p1.__dict__) del p1.name print(p1.__dict__) # 描述符分为两种 # 数据描述符:至少实现了__set__(),__get__() # 非数据描述符:没有实现__set__() # 类操作属性>数据描述符 # 数据描述符 > 对象操作属性 # 对象描述符 > 非数据属性 # 非数据属性 > 找不到
以上是关于描述符的主要内容,如果未能解决你的问题,请参考以下文章
编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段