首页 > 编程语言 > 详细

python中的简单反射

时间:2020-06-05 09:49:00      阅读:60      评论:0      收藏:0      [点我收藏+]
class People:
   def __init__(self,name,age,gender):
        self.name=name
        self.age=age
        self.gender=gender

obj=People(‘egon‘,18,‘male‘)
print(dir(obj))# 列表中查看到的属性全为字符串
print(obj.__dict__)# 查看对象命名空间的数据

print(dir(People))# 列表中查看到的属性全为字符串
print(obj.__class__.__dict__)
print(People.__dict__)# 列表中查看到的属性全为字符串





class Teacher:
    def __init__(self,full_name):
        self.full_name =full_name

t=Teacher(‘Egon Lin‘)

# hasattr(object,‘name‘)
print(hasattr(t,‘full_name‘)) # 按字符串‘full_name‘判断有无属性t.full_name

# getattr(object, ‘name‘, default=None)
print(getattr(t,‘full_name‘,None)) # 等同于t.full_name,不存在该属性则返回默认值None

# setattr(x, ‘y‘, v)
print(setattr(t,‘age‘,18))# 等同于t.age=18
print(t.age)
# delattr(x, ‘y‘)
print(delattr(t,‘age‘)) # 等同于del t.age

python中的简单反射

原文:https://www.cnblogs.com/python99/p/13047779.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!