python - 反射

通过字符串映射或修改程序运行时的状态,属性,方法。有四个方法:

getattr(object, name, default = None)    # 
hasattr(object, name)   #   object中是否有对应的name字符串的方法。
setattr(x, y, v)
delattr(x, y)

1)hasattr: 判断一个对象中是否有对应的字符串的方法映射。
2)getattr:

例子:

class Dog(object):
    def __init__(self, name):
        self.name = name
    def eat(self):
        print("%s is eating..." %self.name)


d = Dog('liuhuayang')
choice = input(">>:").strip()



if hasattr(d, choice):
    getattr(d, choice)

3)set(x, y, v)

通过字符串的形式,装配方法到类中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转自:http://www.cnblogs.com/feixuelove1009/p/5576206.html,只...
    think_lonely阅读 7,220评论 1 2
  • 1.反射自省的概念 自省:自省就是能够获得自身的结构和方法,给开发者可以灵活的调用,给定一个对象,返回该对象的所有...
    XYZeroing阅读 7,089评论 0 2
  • Python中的反射 Python中的反射和java 等语言的形式不同。 举个栗子 上面的程序中,创建了一个类 接...
    So_ProbuING阅读 2,548评论 0 0
  • 群里有个哥们说:自己去别人怎么做好销售,结果大家都回复他:卖产品就是买自己,,然后就不太理解,估计在这里也有不少销...
    元氏销法阅读 4,829评论 0 0
  • 不记得是哪一天 讲了一个关于飞鸟的故事 说它一生在飞 落地会死 可是什么时候 依然来的喜欢热情不可分离 也许你不知...
    美卢阿阅读 1,459评论 0 0

友情链接更多精彩内容