python之描述符的应用

Posted 贺言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之描述符的应用相关的知识,希望对你有一定的参考价值。

class Foo:
def __init__(self,key,hope_type):
self.key=key
self.hope_type=hope_type
def __get__(self, instance, owner):
print(‘输出get‘)
return instance.__dict__[self.key]
def __delete__(self, instance):
print(‘输出delete‘)
instance.__dict__.pop(self.key)
def __set__(self, instance, value):
if not isinstance(value,self.hope_type):
raise TypeError(‘您输入的类型是%s‘%self.hope_type)
instance.__dict__[self.key]=value


class Test:
name=Foo(‘name‘,str)
age=Foo(‘age‘,int)
def __init__(self,name,age,salary):
self.name=name
self.age=age
self.salary=salary
f=Test(‘alex‘,‘18‘,200)

以上是关于python之描述符的应用的主要内容,如果未能解决你的问题,请参考以下文章

Python学习之旅---描述符的应用

文件描述符的继承 - Python 3.4

Python 为什么要使用描述符?

Python进阶之路:探秘描述符的工作原理

Python进阶:探秘描述符的工作原理

Python中属性和描述符的简单使用