描述符
Posted jiawen010
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了描述符相关的知识,希望对你有一定的参考价值。
描述符
class Foo: def __get__(self, instance, owner): print(‘===>get方法‘) def __set__(self, instance, value): print(‘===>set方法‘,instance,value) instance.__dict__[‘x‘]=value #b1.__dict__ def __delete__(self, instance): print(‘===>delete方法‘) class Bar: x=Foo() #在何地? def __init__(self,n): self.x=n #b1.x=10 b1=Bar(10) print(b1.__dict__) b1.x=11111111111111111 print(b1.__dict__) b1.y=11111111111111111111111111111111111111 print(b1.__dict__) # print(Bar.__dict__) #在何时? # b1=Bar() # b1.x # # b1.x=1 # # del b1.x # print(b1.x) # # b1.x=1 # print(b1.__dict__) # # del b1.x
描述符优先级
# class Foo: # def __get__(self, instance, owner): # print(‘===>get方法‘) # def __set__(self, instance, value): # print(‘===>set方法‘,instance,value) # # instance.__dict__[‘x‘]=value #b1.__dict__ # def __delete__(self, instance): # print(‘===>delete方法‘) # # # class Bar: # x=Foo() #在何地? # print(Bar.x) # Bar.x=1 # print(Bar.__dict__) # print(Bar.x) # print(Bar.__dict__) # b1=Bar() # b1.x #get # b1.x=1 # set # del b1.x # delete # b1=Bar() # Bar.x=111111111111111111111111111111111111111 # b1.x # # del Bar.x # b1.x class Foo: def __get__(self, instance, owner): print(‘===>get方法‘) # def __delete__(self, instance): # print(‘===>delete方法‘) class Bar: x=Foo() #在何地? def __getattr__(self, item): print(‘----->‘) b1=Bar() b1.x=1 print(b1.__dict__) b1.xxxxxxxxxxxxxxxxxxxxxxx
以上是关于描述符的主要内容,如果未能解决你的问题,请参考以下文章
编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段