python面向对象--反射

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

成都创新互联公司公司2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元正定做网站,已为上家服务,为正定各地企业和个人服务,联系电话:18980820575

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)
>>:
报错

网站标题:python面向对象--反射
网页URL:http://csdahua.cn/article/jepdpd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流