030反射
2018-06-18 00:51:24来源:未知 阅读 ()
###反射
## getattr,hasattr,setattr,delattr,和类里面的字段有关,具体看例子
#1 class Person: def __init__(self,name,age): self.name = name self.age = age def show_lover(self): print('lover') o = Person('x',21) b = 'name' print(o.__dict__[b]) # 2 b = input('>>>') if hasattr(o,b): v = getattr(o,b) # 去什么东西里面获取什么内容 delattr(o,b) setattr(o,'age',21) print(v) func=getattr(o,'show_lover') # 拿到方法 func()
# 3 拿到类对象的字段
class Person: stat = '123' def __init__(self,name,age): self.name = name self.age = age r = getattr(Person,'stat') print(r)
# 4拿到其他模块的函数和字段等
# s.py NAME = '_nbloser' def func(): return'func' class Person: def __init__(self): self.name = '_nbloser'
# 执行.py import s r1 = getattr(s,'NAME') r2 = getattr(s,'func') Pers = getattr(s,'Person') p1 = Pers() print(r1,r2(),p1.name) # _nbloser func _nbloser
# 应用小例子
def f1(): return'首页' def f2(): return'新闻' def f3(): return'精华' import s inp = input('>>') if hasattr(s,inp): func = getattr(s,inp) print(func()) else: print(404)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:单例模式
- Python-17-反射 2019-07-24
- python 之 面向对象(反射、__str__、__del__) 2019-07-24
- python反射/issubclass&type&isinstance 2019-07-24
- 反射 2019-07-24
- 面向对象基础篇 2019-05-22
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash