Get the name under which a variable or property is stored
本问题已经有最佳答案,请猛点这里访问。
是否有方法获取存储变量或属性的名称?
类似:
1 2 3 4 5 6 | class X: def __init__(self): self.name = __name_under_which_I_m_stored__ jeff = X() print(jeff.name) # yields 'jeff' |
很肯定这是不可能的,但你永远不知道…此外,我知道这个名字可能是未指明的(
python vm无法知道名称的字面名称。对于对象,可以通过
如果您想这样做,您需要实现名称到值的映射。你可以用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | class X: def __init__(self): self.names = {}; def set(self, name, value): self.names[name] = value def get(self, name): return (name, self.names[value]) jeff = X() jeff.set("name","jeff"); print(jeff.get("name")) # yields ("name","jeff") |