意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

Python中将变量或常量转换字符串方法是什么

来源:恒创科技 编辑:恒创科技编辑部
2023-12-25 06:44:59
这篇文章给大家分享的是“Python中将变量或常量转换字符串方法是什么”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。


Python中将变量或常量转换字符串方法是什么


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

区别与使用

函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的语法,则会发生SyntaxError 异常), 适合开发和调试阶段使用。

>>>number=123456789
>>>type(str(number))
<class'str'>
>>>type(repr(number))
<class'str'>
>>>print(repr(number))
123456789
>>>print(str(number))
123456789

两个函数返回的类型是相同的,值也是相同的。

>>>print(str('123456789'))
123456789
>>>print(repr('123456789'))
'123456789'

但当我们把一个字符串传给 str() 函数再打印到终端的时候,输出的字符不带引号。而将一个字符串传给 repr() 函数再打印到终端的时候,输出的字符带有引号。

造成这两种输出形式不同的原因在于:

print 语句结合 str() 函数实际上是调用了对象的 __str__ 方法来输出结果。而 print 结合 repr() 实际上是调用对象的 __repr__ 方法输出结果。下例中我们用 str 对象直接调用这两个方法,输出结果的形式与前一个例子保持一致。

>>>print('123456789'.__repr__())
'123456789'
>>>print('123456789'.__str__())
123456789

不同数据类型的不同处理

某对象没有适于人阅读的解释形式的话, str() 会返回与repr()等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的处理方式。

代码实例:

>>>listA=[1,2,3]
>>>str(listA)
'[1,2,3]'
>>>repr(listA)
'[1,2,3]'
>>>

结果是相同的。


而字符串和浮点数,它们的处理方式不同。

注意:Python3和Python2版本str函数处理浮点数时是不同的,Python3版本下,str和repr会返回相同的结果,Python2下则不会, 具体看下面的例子:

Python3版本:

>>>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版本:

>>>str(1.0/7.0)
'0.142857142857'
>>>repr(1.0/7.0)
'0.14285714285714285'




关于“Python中将变量或常量转换字符串方法是什么”就介绍到这了,如果大家觉得不错可以参考了解看看,如果想要了解更多,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
上一篇: Python不同版本中除法运算怎样实现,有何差异 下一篇: Python中实现缩进需求方法是什么