Python中如何从self方法中获取self对象名
我正在试图找到一种方法,仅使用Python中如何从self方法中获取self对象名,python,class,python-2.7,self,Python,Class,Python 2.7,Self,我正在试图找到一种方法,仅使用打印对象 更具体地说。 假设我有一门课: class A: def __init__(self): self.cards = [] def __str__(self): # return a string representation of A return "A contains " ... ... 现在每当我创建一个对象 test = A() 我使用打印测试它会得到类似的结果(不介意点
打印对象
更具体地说。
假设我有一门课:
class A:
def __init__(self):
self.cards = []
def __str__(self):
# return a string representation of A
return "A contains " ...
...
现在每当我创建一个对象
test = A()
我使用打印测试
它会得到类似的结果(不介意点)
我想要实现的是自动打印对象引用名称而不是类名:
test contains ...
self.\uuuuu class\uuuuuuu
或self.\uuuuuu name\uuuuuuuuu
无法工作,因为它返回一个奇怪的字符串,如
如何实现这一目标?
谢谢你的预先考虑。 < P>因为你的问题的评论已经陈述了,不可能也是不明智的,考虑下面的方法中的一些东西:
class A:
def __init__(self, name):
self.cards = []
self.name = name
def __str__(self):
return '{} contains ...'.format(self.name)
>>> test = A('test')
>>> print test
test contains ...
>>> a = A('hello')
>>> print a
hello contains ...
对象没有名称,它们只有引用。是否要打印实例绑定到的变量的标识符?如果是这样,我认为这是不可能的(或不明智的)。考虑不绑定到任何变量的类A的实例。那你会打印什么?或者它是否绑定到两个或多个变量?也许你可以在构造函数中为该对象传递一个名称并打印出来。你想做什么?@Daenyth每次我使用
打印对象
只打印它自己而不是它的类为什么你要打印该对象?谢谢你的回答,你想达到什么目标。这正是我想要避免的,在实例化时传递引用名称。如果这是唯一的解决方案,那么我想我所问的是不可能的:|
class A:
def __init__(self, name):
self.cards = []
self.name = name
def __str__(self):
return '{} contains ...'.format(self.name)
>>> test = A('test')
>>> print test
test contains ...
>>> a = A('hello')
>>> print a
hello contains ...