简单的例子:
a = 1
b = 2
c = 3
rrr = []
rrr.append(a)
rrr.append(b)
rrr.append(c)
rrr
返回:
[1,2,3]
但我需要得到:
[a,b,c]
我见过这个:
How can I get the name of an object in Python?
但我不太确定解决方案是否说只有函数才有 __name__
属性。
我试图解决的问题是我有一个类,它的属性之一是它具有的其他属性的列表,因此我可以轻松地迭代它们(它们都非常频繁地组合在一起,并且它们都是 bool 值)。但我需要对那个列表进行检查,获取它的名称,而不是它的值。
列表不应该先指向变量,然后指向变量引用的值,还是在这种情况下Python只是跳过变量的小便利贴而只查看实际对象?
如果是这样,在构建列表期间,是否有办法强制它走很长的路并查看便利贴变量,以便我可以恢复它们?
最佳答案
你可以尝试:
class MyIntValue:
def __init__(self, x:int, name:str):
self.name = name
self.value = x
def __repr__(self):
return self.name
a = MyIntValue(1, 'a')
b = MyIntValue(2, 'b')
c = MyIntValue(3, 'c')
rrr = []
rrr.append(a)
rrr.append(b)
rrr.append(c)
print(rrr)
输出:
[a, b, c]
关于python 对象列表获取对象而不是值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57501252/