python面向对象--反射
admin
2023-07-25 05:42:10
0

1.反射包含四个函数hasattr(),getattr(),setattr(),delattr()
2.hasattr(o,name)判断类中是否存在name属性或方法

class test(object):
    def __init__(self):
        self.name='张三'
    def show(self):
        print('姓名:%s'%self.name)

T=test()
print(hasattr(T,'show'))
print(hasattr(T,'name'))
print(hasattr(T,'name1'))

>>:
True
True
False

3.getattr(o,name)根据name字符串取得对应类中的属性或方法

class test(object):
    def __init__(self):
        self.name='张三'
    def show(self):
        print('姓名:%s'%self.name)

T=test()
res=getattr(T,'show')
res()

>>:
姓名:张三

4.setattr(o,name,value)设置类的属性值

class test(object):
    def __init__(self):
        self.name='张三'
    def show(self):
        print('姓名:%s'%self.name)

T=test()
setattr(T,'name','李四')
print(T.name)
>>:
李四

5.delattr(o,name)删除类的属性或方法

class test(object):
    def __init__(self):
        self.name='张三'
    def show(self):
        print('姓名:%s'%self.name)

T=test()
delattr(T,'name')
print(T.name)
>>:
报错

相关内容

热门资讯

创始人不喝自家产品?东鹏特饮报... 近期,短视频平台流传一段内容:画面中声称在饭局上,有人向东鹏饮料创始人林木勤递上一瓶东鹏特饮,但其却...
MWC26上海|展会圆满落幕!... 来源:滚动播报 (来源:上观新闻) 转载自:GSMA-MWC系列活动 为期三天的MWC26上海 圆...
香港安全智慧工地系统(4S)前... 中新社深圳6月26日电 (记者 索有为)香港安全智慧工地系统(4S)前海试点项目26日在深圳前海启动...
长青观察|跨越AI落地鸿沟,榜... 随着“十五五”数字中国建设的纵深推进,中国产业界的AI弄潮儿迎来高光时刻。 近日,“2026年度《财...
原创 中... #欧洲网友为买中国空调跑 200 公里# #欧洲网友呼吁进口中国空调# #中国空调在欧洲被疯抢 #,...
全年“最高”金星美不胜收 6月以来,在西方天空,我国各地相继迎来金星一年中地平高度最高的时段。这颗最亮的行星高悬夜空,形成一道...
涨价20%,苹果被它“害惨了”... 苹果涨价,猝不及防。6月25日深夜,苹果中国官网毫无预兆地进入了短暂的后台维护,之后迎接消费者的就是...
17岁女生指控被大学生性侵殴打... 近日,17岁女生小李指控江西财经大学大一学生叶某某对其殴打、性侵一事,迎来最新进展。6月27日,封面...
拿水莲灾损当笑话?美浓青农爆气... 中国台湾网6月27日讯 据台媒“中时新闻网”报道,高雄连日强降雨造成美浓地区水莲产业严重受灾。中国国...
马斯克质疑IBM“0.7纳米芯... IT之家 6 月 27 日消息,据科技媒体 Wccftech 昨天报道,亿万富翁埃隆 · 马斯克认为...