我试图找到一种自动打印对象引用名称的方法,只是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 ...
该self.__class__
或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 ...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句