当我在交互式shell中使用python时,我可以通过调用它们的名称来轻松转储变量。
>>> x = b'\xA5'
>>> x
'\xa5'
>>> print x
▒
如您所见,行为与print
的行为不同。如何在普通脚本中模拟类似CLI的变量转储?
答案 0 :(得分:5)
使用repr()
内置功能:
>>> x = '\xa5'
>>> print repr(x)
'\xa5'
答案 1 :(得分:2)
>>> x = b'\xA5'
>>> print repr(x)
'\xa5'
答案 2 :(得分:1)
每个班级都可以使用__repr__
特殊方法专门化他们的表示。
例如:
>>> class Banana:
... def __repr__(self):
... return "Fruit: Banana"
...
>>> Banana()
Fruit: Banana
应该注意的是,如果你返回一些字符串,那么交互式提示会变得非常脾气暴躁(通常是Python)。
如果可能的话,它也应该代表一个有效的Python表达式。所以我的例子不符合要求。如果无法使用有效的表达式,则文档会建议<something descriptive>
。如果你得到一个类的表示,你可以在实践中看到这个例子:
>>> Banana
<class '__main__.Banana'>
这个特殊方法是repr
和交互式提示用于显示对象的“表示”。