牛骨文教育服务平台(让学习变的简单)
博文笔记

python 根据类的字符串名实例化对象

创建时间:2015-10-31 投稿人: 浏览次数:3764

方法一:

class obj(object): 

      pass 

 a = eval("obj()")


方法二:

如果是经常需要这样可以

#将用来创建对象的字符串预编译成code对象.

create_obj = compile("obj()", "create_obj.py", "eval") 

#需要创建的时候, 直接用code对象, 这样会有效率上的提升. #因为code对象是预编译过的, 而不用每次去编译

a = eval(create_obj)

 

方法三:

file_name  模块名  

 module = __import__(file_name)

 AClass = getattr(module, class_name_str)()

 a = AClass() 或

obj = new.instance(AClass)


方法四:  也可以使用global(),locals(),dir()这类获取对象名和对象对应的函数 

阅读更多
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。