python类CLI变量转储

时间:2011-04-19 22:19:27

标签: python command-line-interface

当我在交互式shell中使用python时,我可以通过调用它们的名称来轻松转储变量。

>>> x = b'\xA5'
>>> x
'\xa5'
>>> print x
▒

如您所见,行为与print的行为不同。如何在普通脚本中模拟类似CLI的变量转储?

3 个答案:

答案 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和交互式提示用于显示对象的“表示”。