#!/usr/bin/python3
class Attr(object):
"""
对Person类中属性进行类型检查
"""
# 传入字段名字 + 指定字段类型
def __init__(self, name, style):
self.name = name
self.style = style
# 取值
def __get__(self, instance, owner):
return instance.__dict__[self.name]
# 设值
def __set__(self, instance, value):
# 判断参数类型是否满足条件
if isinstance(value, self.style):
instance.__dict__[self.name] = value
else:
raise TypeError('need type: %s' % self.style)
# 删除值
def __delete__(self, instance):
del instance.__dict__[self.name]
class Person(object):
name = Attr('name', str)
age = Attr('age', int)
height = Attr('height', float)
if __name__ == '__main__':
p = Person()
p.name = 'xi_xi'
# p.name = 55
p.age = 18
p.height = 1.75
print(p.name, p.age, p.height)
del p.height 相关推荐:
JavaScript类型检查与内部属性[[Class]]
以上就是python实现对实例属性进行类型检查的详细内容,更多请关注Gxl网其它相关文章!
查看更多关于python实现对实例属性进行类型检查的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did84323