0

我正在制作一个名为 makeTrigger 的函数,它需要一个 in 变量并更新一个字典,但我遇到的问题是我试图访问 dict 中的一个 obj,而我用 str() 得到了这个:

<ps6.SubjectTrigger object at 0x101d36fd0> and <ps6.TitleTrigger object at 0x101dbc0d0>

是什么让它打印这个:

SubjectTrigger('world') and TitleTrigger('Intel')

我应该用什么来正确打印它。这是我要访问的字典:

{'t1': SubjectTrigger('world'), 't2': TitleTrigger('Intel'), 't3': PhraseTrigger('New York City')}

我正在尝试访问 t1 和 t2。

4

1 回答 1

1

这个问题肯定是重复的。
–––––––</p>

要更改对象的表示,您必须在对象的类定义中创建一个方法

class MyClass:

    def __repr__(self):
        return "Hello ,this is a test"

__repr__

方法返回一个字符串,打印函数将使用该字符串来表示对象,因此如果您创建一个 MyClass 对象然后打印它,输出将是

你好,这是一个测试

注意:
这个方法没有实现 str(MyClass()) ;为此,您必须创建另一种方法

__str__
于 2013-03-31T21:36:06.650 回答