反射

来源:互联网 发布:帝豪 gs 知乎 编辑:程序博客网 时间:2024/06/07 02:55
# 反射:# hasattr() 判断一个对象里是否有对应的 name_str 字符串的方法# getattr() 根据字符串获得对象里的对应的方法的内存地址  后面+()可调用# setattr(obj, 'name', value) 通过字符串设置一个值# delattr(obj, "str")def eat(self):    print("eat")class Dog(object):    def __init__(self, name, age):        self.name = name        self.age = age    def talk(self, who):        print("%s is talking wangwangwnag with %s!"% (self.name, who))d = Dog("L", 11)action = input("action:>>").strip()if hasattr(d, action):    func = getattr(d, action)    func("Jy")    print(d.name)    delattr(d, 'name')else:    setattr(d, action, eat)    func = getattr(d, action)    func(d)print(d.name)

原创粉丝点击