Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中如何从self方法中获取self对象名_Python_Class_Python 2.7_Self - Fatal编程技术网

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 ...