邯郸网站建设效果好,云南定制化网站建设,wordpress视频预览插件,天津市最新消息今天在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法#xff0c;即 str() 或者 repr() 。 区别与使用 函数str() 用于将值转化为适于人阅读的形式#xff0c;而repr() 转化为供解释器读取的形式#xff08;如果没有等价的语法#xff0c;则会发生Syntax…在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法即 str() 或者 repr() 。 区别与使用 函数str() 用于将值转化为适于人阅读的形式而repr() 转化为供解释器读取的形式如果没有等价的语法则会发生SyntaxError 异常 适合开发和调试阶段使用。 1 2 3 4 5 6 7 8 9 number 123456789 type(str(number)) class str type(repr(number)) class str print(repr(number)) 123456789 print(str(number)) 123456789 两个函数返回的类型是相同的值也是相同的。 1 2 3 4 print(str(123456789)) 123456789 print(repr(123456789)) 123456789 但当我们把一个字符串传给 str() 函数再打印到终端的时候输出的字符不带引号。而将一个字符串传给 repr() 函数再打印到终端的时候输出的字符带有引号。 造成这两种输出形式不同的原因在于 print 语句结合 str() 函数实际上是调用了对象的 __str__ 方法来输出结果。而 print 结合 repr() 实际上是调用对象的 __repr__ 方法输出结果。下例中我们用 str 对象直接调用这两个方法输出结果的形式与前一个例子保持一致。 1 2 3 4 print(123456789.__repr__()) 123456789 print(123456789.__str__()) 123456789 不同数据类型的不同处理 某对象没有适于人阅读的解释形式的话 str() 会返回与repr()等同的值。很多类型诸如数值或链表、字典这样的结构针对各函数都有着统一的处理方式。 代码实例 1 2 3 4 5 6 listA [1,2,3] str(listA) [1, 2, 3] repr(listA) [1, 2, 3] 结果是相同的。 而字符串和浮点数它们的处理方式不同。 注意Python3和Python2版本str函数处理浮点数时是不同的Python3版本下str和repr会返回相同的结果Python2下则不会 具体看下面的例子 Python3版本 1 2 3 4 5 6 7 8 9 string Hello, PythonTab.com str(string) Hello, PythonTab.com repr(string) Hello, PythonTab.com str(1.0/7.0) 0.14285714285714285 repr(1.0/7.0) 0.14285714285714285 Python2版本 1 2 3 4 str(1.0/7.0) 0.142857142857 repr(1.0/7.0) 0.14285714285714285 转载于:https://www.cnblogs.com/Kingfan1993/p/9636602.html