4

2 つのオブジェクトを作成する単純なクラスがあります。クラス内からオブジェクトの名前を出力したいと思います。だから、このようなもの:

class Example:
    def printSelf(self):
        print self

object1 = Example()
object2 = Example()

object1.printSelf()
object2.printSelf()

印刷するにはこれが必要です:

object1
object2

残念ながら、これは単に印刷されます<myModule.Example instance at 0xb67e77cc>

どうすればこれができるか知っている人はいますか?

4

3 に答える 3

1

これを行う一般的な方法は、次のようなものです。

class Example(object):
    def __init__(self,name):
        self.name=name

    def __str__(self):
        return self.name    

object1 = Example('object1')
object2 = Example('object2')

print object1
print object2

版画:

object1
object2

ただし、このオブジェクトが元の名前にバインドされたままになるという保証はありません。

object1 = Example('object1')
object2 = object1

print object1
print object2

予想どおりobject1、 を 2 回出力します。内部を確認したい場合は、デバッガを使用してください。

于 2013-06-19T20:07:16.820 に答える