python之反射实例 setattr delattr
16lz
2021-04-02
# __*__ coding: utf-8 __*____author__ = "David.z"def bulk(self):print("%s is yelling..."%self.name)class Dog(object):def __init__(self,name): self.name = namedef eat(self,food):print(" %s is eating..."%self.name,food)d = Dog("Alex")choice = input(">>:").strip()if (hasattr(d,choice)):#反射 delattr(d,choice)# attr=(getattr(d,choice))# # print(attr)# # func("ChrnRonghua")# setattr(d,choice,"Ronghua")else:# setattr(d,choice,bulk)# d.talk(d) setattr(d,choice,None)print(getattr(d,choice))print(d.name)'''反射 hasattr(obj,name_str) ,判断一个对象obj里是否有对应的name_str字符串的方法 getattr(obj,name_str),根据字符串去获取obj对象里的对应的方法的内存地址 setattr(obj,'y',z),is eauivalent ot "x.y = v" delattr 删除'''
©著作权归作者所有:来自51CTO博客作者天天打老虎的原创作品,如需转载,请注明出处,否则将追究法律责任
更多相关文章
- Python基础教程:5种方法实现反转字符串
- 探索emoji字符串长度之谜
- 20201224 字符串常用操作
- 你还在使用 JDK 7?JDK 13 都已经来了!五大新特性你最喜欢哪个 ?
- MySql基本查询-基本函数
- 单链表字符串判断回文
- strcmp的返回值 字符串比较
- Java技巧分享:判断字符串是否为空常的三种方法
- 3-27(string)