我想将字符串转换为一个类来实例化一个对象。例如:
class Rank:
def __init__ (self):
print ('obj created ...')
obj = Rank ()
rank = 'Rank ()'
obj = rank
对不起我的英文
答案 0 :(得分:3)
尝试使用dict
class Rank:
def __init__ (self):
print ( 'obj created ...')
option = { 'rank': Rank }
obj = option['rank']
print 'init object'
obj()
init object
obj created ...
答案 1 :(得分:0)
这不是最佳做法,但您可以使用exec()
执行字符串。
例如:
rank = 'Rank()'
exec('obj = ' + rank)
exec
将其参数视为行本身。所以它基本上都会执行obj = Rank()
。
答案 2 :(得分:0)
您可以使用eval()。
示例:
class Rank:
def __init__ (self):
print ( 'obj created ...')
print ( eval("Rank") )