Python:从另一个模块类加载实例变量
让我们上两节小班 ClassOne.py 第二类 我将把输入作为envdata发送,envdata是ClassOne.py中的实例元组变量,这个名称存储在上述类的变量名中 所以我在这里试图实现的是,如何通过名称变量替换其名称来调用env_数据元组 我试着用一个名字,但它给了我一个Python:从另一个模块类加载实例变量,python,python-3.x,tuples,Python,Python 3.x,Tuples,让我们上两节小班 ClassOne.py 第二类 我将把输入作为envdata发送,envdata是ClassOne.py中的实例元组变量,这个名称存储在上述类的变量名中 所以我在这里试图实现的是,如何通过名称变量替换其名称来调用env_数据元组 我试着用一个名字,但它给了我一个 no such attributes such as name for a 如果您确保输入有效,并且实例包含具有该名称的成员 a.__dict__[name] 将访问存储在那里的值 就是 a.__dict__["x
no such attributes such as name for a
如果您确保输入有效,并且实例包含具有该名称的成员
a.__dict__[name]
将访问存储在那里的值
就是
a.__dict__["x"]
与
a.x
更新:
正确的方法是
vars(a)[name]
这相当于一个名字。是的,我知道那是 但我希望通过输入值来访问它。如果name是envdata,那么我必须加载它,如果不是,那么我不应该加载它。但是我可能有很多元组,所以我正在寻找像.name这样的东西,因为name包含envdata,而envdata是一个元组。这是我想要的一种负担achieve@Ten-如果要查看新答案是否适合您,您需要确保名称包含有效字符串。否。我的朋友。我很抱歉没有说得更清楚。但关于你的答案,这才是重点。Always name值可能不是envdata,也可能Always I没有单个元组好吧,如果该值存在,您可以通过..uuu dict_uuu[name]访问它。仅当该值存在时,此操作才有效。
a.x
vars(a)[name]