我正在尝试找到一种方法来自动打印对象引用名称print object
更具体。
假设我有一堂课:
class A:
def __init__(self):
self.cards = []
def __str__(self):
# return a string representation of A
return "A contains " ...
...
现在每当我创建一个对象时
test = A()
我用print test
它会得到类似的东西(不要介意这些点)
A contains ...
我想要实现的是自动打印对象引用名称而不是类名称:
test contains ...
The self.__class__
or self.__name__
不会工作,因为它返回一个奇怪的字符串,例如<class '__main__.A'>
.
应该怎样__str__
来实现这一目标?
提前致谢。
正如对您的问题的评论所述,这是不可能的,也是不明智的,请考虑采用以下方法:
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 ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)