Python面向对象编程中的repr()函数是什么?

Python面向对象编程中的repr()函数是什么?

官方Python文档说__repr__()函数用于计算对象的“官方”字符串表示形式。 内置的repr()函数使用__repr__()函数显示对象。__repr__()函数返回对象的可打印表示形式,这是创建此对象的可能的方式之一。__repr__()对于开发人员更有用,而__str__()对于最终用户更有用。

更多Python相关文章,请阅读:Python 教程

例子

以下代码展示了__repr__()函数的使用方法。

class Point:

   def __init__(self, x, y):

     self.x, self.y = x, y

   def __repr__(self):

     return 'Point(x=%s, y=%s)' % (self.x, self.y)

p = Point(3, 4)

print p

输出

这产生以下输出

Point(x=3, y=4)

让我们考虑repr()函数的另一个使用示例并创建datetime对象-

>>> import datetime
>>> today = datetime.datetime.now()

当我使用内置的repr()函数来显示今天时-

>>> repr(today)
'datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)'

我们可以看到,这返回了一个字符串,但这个字符串是datetime对象的“官方”表示形式,这意味着使用这个“官方”字符串表示法,我们可以重构对象-

>>> eval('datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)')
datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)

eval()内置函数接受一个字符串并将其转换为datetime对象。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程