方法一:
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()这类获取对象名和对象对应的函数
class A():
def __init__(self): print('A')
class B():
def __init__(self): print('B')
globals()['A']()
globals()['B']()