`

str()和 repr() (及 `` 运算符)

 
阅读更多

内建函数 str() 和 repr() 或反引号运算符(``) 可以方便的以字符串的方式获取对象的
内容、类型、数值属性等信息。str()函数得到的字符串可读性好, 而repr()函数得到的字符
串通常可以用来重新获得该对象, 通常情况下 obj == eval(repr(obj)) 这个等式是成立的。
这两个函数接受一个对象做为其参数, 返回适当的字符串。在下面的例子里, 我们会随机取
一些Python 对象来查看他们的字符串表示。
>>> str(4.53-2j)
'(4.53-2j)'
>>>
>>> str(1)
'1'
>>>
>>> str(2e10)
'20000000000.0'
>>>
>>> str([0, 5, 9, 9])
'[0, 5, 9, 9]'
>>>
>>> repr([0, 5, 9, 9])
'[0, 5, 9, 9]'
>>>
>>> `[0, 5, 9, 9]`
'[0, 5, 9, 9]'
尽管str(),repr()和``运算在特性和功能方面都非常相似, 事实上 repr() 和 `` 做的
是完全一样的事情,它们返回的是一个对象的“官方”字符串表示, 也就是说绝大多数情况下
可以通过求值运算(使用eval()内建函数)重新得到该对象,但str()则有所不同。str() 致力
于生成一个对象的可读性好的字符串表示,它的返回结果通常无法用于eval()求值, 但很适
合用于 print 语句输出。需要再次提醒一下的是, 并不是所有repr()返回的字符串都能够用
eval()内建函数得到原来的对象:
>>> eval(`type(type))`)
File "<stdin>", line 1
eval(`type(type))`)
^
SyntaxError: invalid syntax

 

也就是说 repr() 输出对 Python 比较友好, 而str()的输出对人比较友好。虽然如此,
很多情况下这三者的输出仍然都是完全一样的。

为什么我们有了repr()还需要``?
在Python 学习过程中,你偶尔会遇到某个运算符和某个函数是做同样一件事情。之所以如
此是因为某些场合函数会比运算符更适合使用。举个例子, 当处理类似函数这样的可执行对象
或根据不同的数据项调用不同的函数处理时,函数就比运算符用起来方便。另一个例子就是双
星号(**)乘方运算和pow()内建函数,x ** y 和 pow(x,y) 执行的都是x 的y 次方。

分享到:
评论

相关推荐

    python-运算符重载.rar

    12. `__repr__(self)` 和 `__str__(self)`:分别返回对象的表示形式和可打印字符串。这对于调试和日志记录很有用。 13. `__eq__(self, other)`、`__ne__(self, other)`、`__lt__(self, other)`、`__le__(self, ...

    Python运算符与If语句

    通过上述内容的学习,我们可以了解到Python中数据类型转换和运算符的基础用法,以及如何使用`if`语句来根据不同的条件执行不同的逻辑。这些基础知识是学习任何高级功能的基础,掌握它们对于编写高质量的Python程序至...

    Python运算符重载用法实例分析

    - `__str__`:与`__repr__`类似,但通常用于更用户友好的输出,如`print`语句。 6. **函数调用**: - `__call__`:使对象可像函数一样被调用,如`X()`。 7. **属性访问**: - `__getattr__`:当尝试访问一个...

    Python运算符重载详解及实例代码

    - `__repr__`和`__str__`:分别用于返回类对象的表示形式和可读字符串,常用于`print`和`repr()`/`str()`函数。 - `__call__`:使类实例像函数一样可调用,例如`obj(*args, **kwargs)`。 - `__getattr__`、`__...

    Python函数运算符速查表V.pdf

    【Python函数运算符速查表】是一份详细列出Python中常用函数和运算符的参考文档,旨在帮助开发者快速查找和理解Python中各种内置函数的功能。这份文档由fuyufu于2014年9月28日创建,涵盖了Python语言的一些主要优点...

    《Python函数运算符速查表》20140928V1[归纳].pdf

    【Python函数运算符速查表】是一份详细列出Python中常用函数和运算符的参考文档,旨在帮助开发者快速查找和理解Python中各种数据类型的转换、数学运算以及其它实用功能。以下是对其中一些重要函数的详细解释: 1. *...

    Python:__eq__和__str__函数的使用示例

    在Python编程中,`__eq__`和`__str__`是两个非常重要的魔术方法(magic method),它们分别用于对象的比较和字符串表示。理解它们的使用方式对于编写清晰、可维护的代码至关重要。下面将详细介绍这两个方法的作用、...

    Python基础教程第2章(共133张).pptx

    Python支持在不同数据类型间进行转换,例如使用int()、float()、str()和repr()函数将字符串转换为整数、浮点数、数值字符串和对象的可打印表示。此外,还有eval()函数,它可以解析字符串作为Python表达式并返回计算...

    特殊方法1

    总的来说,`__repr__`和`__str__`是每个Python对象的基本需求,它们确保对象能以清晰的方式表示自己,前者用于调试和记录,后者则用于用户界面。序列数据类型通常需要实现更多的特殊方法,如`__iter__`和`__next__`...

    python基础语法总结.docx

    Python 基础语法总结 本篇文章将对 Python 的基础语法进行总结,涵盖标识符、数据类型、数据类型转换、运算符等知识点。...这些运算符都有其特定的用途和优先级,需要根据具体情况选择合适的运算符。

    python知识点.docx

    字符串拼接通过"+"操作符实现,同时可以使用str()或repr()函数将其他类型转换为字符串。 input()函数在交互式编程中扮演着重要角色,它向用户请求输入,并返回一个字符串。原始字符串以'r'开头,用于避免反斜线的...

    Python基础语法1

    str()和repr()用于字符串转换,eval()可以解析字符串中的Python表达式,而tuple()、list()、set()和dict()则用于不同数据结构间的转换。 Python的运算符分为多种类型: - 算术运算符:包括加、减、乘、除、取模、幂...

    Python基础教程第2章.ppt

    在Python的基础教程中,第二章主要涵盖了Python语言的基本语法和编码规范,包括数据类型、运算符、常量、变量、表达式和常用语句等核心概念。下面我们将深入探讨这些知识点。 2.1 常量和变量 常量在程序中表示不可...

    完整图文版教程 优质的Python基础入门教程 讲解清晰 PPT课件 03、Python基本语法2 (共17页).pptx

    在Python中,函数是实现特定功能的代码块,内置函数如`input()`用于获取用户输入,`str()`和`repr()`用于字符串转换,`pow()`计算幂,`sqrt()`求平方根,`round()`四舍五入,`abs()`求绝对值。用户也可以自定义函数...

    Python面试合集.rar

    - 运算符:掌握算术运算符、比较运算符、逻辑运算符、成员运算符和身份运算符。 - 控制流:if-else、for、while循环,以及break、continue语句。 - 函数:定义函数、参数传递、默认值、*args和**kwargs等。 - ...

    PYTHON学习教程+PYTHON基础命令+新手学习

    - `str()`将对象转换为字符串,`repr()`转换为表达式字符串。 - `tuple()`、`list()`、`set()`、`dict()`用于转换为元组、列表、集合和字典。 - `chr()`、`unichr()`、`ord()`、`hex()`、`oct()`处理字符和数值的...

    Python语法基本语法总结

    赋值运算符(=)用于赋值,而+=、-=、*=、/=、%=和**=则分别用于增量、减量、乘积、商、余数和幂次的赋值操作。逻辑运算包括and(与)、or(或)和not(非),用于布尔表达式的组合。查找运算符in和not in用于判断...

    Python的数字类型.ppt

    此外,Python还提供了`repr()`和`str()`函数来获取数字的内部表示和用户友好的字符串表示。 Python的数字类型和表达式操作符使得编写涉及数学计算的代码变得简单而直观。无论是基础的数学运算还是复杂的复数计算,...

    Python 上课任务.zip

    还会讨论构造函数(__init__)、属性和方法,以及特殊方法(如__str__和__repr__)。 通过这些课程,学生将能够逐步建立起Python编程的基础,从理解基本语法到掌握更复杂的编程技巧。学习过程中,不仅需要理论知识,...

Global site tag (gtag.js) - Google Analytics