Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 动态命名指向类的变量_Python - Fatal编程技术网

Python 动态命名指向类的变量

Python 动态命名指向类的变量,python,Python,所以我有一个.txt触发器列表。我要做的是访问触发器列表,确定触发器名称,然后使用该名称指向我拥有的类的新实例,称之为WordTrigger。我不知道该怎么做。如果我知道变量,我可以简单地通过var=WordTriggerparameters将类分配给变量。但问题的全部前提是我不知道变量,必须通过扫描列表找出它们的名称。我意识到我可以为我的WordTrigger类创建一个name属性,但这仍然留下了我将把类实例分配给哪些变量的问题,因为理论上,我甚至不知道触发器列表有多长,所以我不能只创建一个静

所以我有一个.txt触发器列表。我要做的是访问触发器列表,确定触发器名称,然后使用该名称指向我拥有的类的新实例,称之为WordTrigger。我不知道该怎么做。如果我知道变量,我可以简单地通过var=WordTriggerparameters将类分配给变量。但问题的全部前提是我不知道变量,必须通过扫描列表找出它们的名称。我意识到我可以为我的WordTrigger类创建一个name属性,但这仍然留下了我将把类实例分配给哪些变量的问题,因为理论上,我甚至不知道触发器列表有多长,所以我不能只创建一个静态数量的变量

有没有办法,给定一个x个长的单词列表,创建x个变量,并将它们指向一个从单词列表中提取名称的类的新实例?我希望这是有道理的

使用字典:

dic={word:WordTrigger(parameters) for word in wordlist}
例如:

>>> wordlist=['a','b','c','d','e']
>>> class A:
    def __init__(self,i):
        self.ind=i


>>> dic={word:A(i) for i,word in enumerate(wordlist)}
>>> dic['a'].ind
0
>>> dic['c'].ind
2
使用字典:

dic={word:WordTrigger(parameters) for word in wordlist}
例如:

>>> wordlist=['a','b','c','d','e']
>>> class A:
    def __init__(self,i):
        self.ind=i


>>> dic={word:A(i) for i,word in enumerate(wordlist)}
>>> dic['a'].ind
0
>>> dic['c'].ind
2

有关为什么dict是正确的方法的讨论,请参阅。有关为什么dict是正确的方法的讨论,请参阅。如果您创建的变量名称未知,将如何引用它们。如果它们是已知的,如何引用?如果它们的名称未知,将如何引用您创建的变量。如果知道,怎么知道?