首页 > 编程 > Python > 正文

python如何对实例属性进行类型检查

2020-01-04 15:23:38
字体:
来源:转载
供稿:网友

本文实例为大家分享了python对实例属性进行类型检查的具体代码,供大家参考,具体内容如下

案例:

在某项目中,我们实现了一些类,并希望能像静态语言那样对他们的实例属性进行类型检查

              p = Person()

              p.name = ‘xi_xi'          # 必须是str

              p.age = 18                    # 必须是int

              p.height = 1.75               # 必须是float

需求:

    可以对实例变量名指定类型

    赋予不正确类型抛出异常

#!/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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表