当它是一个字符串或数字清楚时,将分别打印
A =“这是一个字符串”
B = 3
Project.find({
where: {id: 1},
include: [{model: Task, include: [{model: TaskCategory}]}]
})
如果我有更复杂的对象怎么办?我问是因为我正在学习一个模块和
A
this is a string
B
3
结果为一行(实际上会覆盖前一个输入)
A.name
B.name
分为两行(正常行为)
答案 0 :(得分:1)
如果只是将对象放入控制台,则将调用__repr__
方法,您将看到该方法返回的内容。显式使用__str__
打印。如果没有print
,则__repr__
会退回到__str__
。
演示:
>>> class A:
... def __repr__(self):
... return '__repr__'
... def __str__(self):
... return '__str__'
...
>>> a = A()
>>> a
__repr__
>>> print(a)
__str__
>>> del A.__str__
>>> a
__repr__
>>> print(a)
__repr__
>>> del A.__repr__
>>> a
<__main__.A object at 0x7f4bdf0034a8>
>>> print(a)
<__main__.A object at 0x7f4bdf0034a8>