python中repr()函数用法详解

首页 / 新闻资讯 / 正文

        在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str() 或者 repr() 。

str()和repr()区别:

  • 函数str( )将其转化成为适于人阅读的前端样式文本
  • 函数repr(object)将对象转化为供解释器读取的形式。返回一个对象的 string 格式。

示例代码1:

s = 'python' a = str(s) b = repr(s)  print(a) print(b) print(type(a)) print(type(b)) print(eval(b))  print("-" * 100)  print(a == b)

运行结果:

注意:对于字符串类型,repr转换后外层会多一对引号,这一特性有时候在eval操作时有用。 

示例代码2:

n = 123456  a = str(n) b = repr(n) print(a) print(b) print(type(a)) print(type(b))  print('-' * 100) print(len(a)) print(len(b)) 

运行结果:

示例代码3:【命令行下print和直接输出的对比】

class A(object):     def __repr__(self):         return 'repr'      def __str__(self):         return 'str'   a = A() # a    #直接输出调用的是repr方法 print(a)  # print调用的是str方法 

运行结果:

 注意:命令行下直接输出对象调用的是对象的repr方法,而print输出调用的是str方法