python
来源:互联网 发布:乐视手机如何备份数据 编辑:程序博客网 时间:2024/06/05 09:57
内建函数str()和repr() (representation,表达,表示)或反引号操作符(``)可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。str()函数得到的字符串可读性好(故被print调用),而repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下 obj==eval(repr(obj)) 这个等式是成立的。这两个函数接受一个对象作为其参数,返回适当的字符串。
事实上repr()和``做一样的事情,返回一个对象的“官方”字符串表示。其结果绝大多数情况下(不是所有)可以通过求值运算(内建函数eval())重新得到该对象。
str()则不同,它生成一个对象的可读性好的字符串表示,结果通常无法用eval()求值,但适合print输出。
如下例:
>>> class D(object):... def __str__(self):... return "a __str__"... def __repr__(self):... return "a __repr__"...>>> dr = D()>>> print dra __str__>>> dra __repr__>>> "%s" % dr'a __str__'>>> "%r" % dr'a __repr__'
为什么有了repr()还需要``?
Python中,有的操作符和函数是做同样的事情,原因是某些场合下函数会比操作符更适合使用,比如函数对象可作为参数传递。双星号(**)乘方运算和pow()内建函数都返回x的y次方.
阅读全文
0 0
- Python
- Python
- Python
- python
- Python
- PYTHON
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- python
- Python
- Android学习笔记三十二之数据存储—文件存储读取
- sublime编译警告(sse,avx)及解决办法
- 将博客搬至CSDN
- JavaScript实现1-4000内阿拉伯数字转换为罗马数字
- 图论中DFS与BFS的区别、用法、详解…
- python
- 整理了一下以前写的东西,单条记载 现在看看还蛮有意思
- Monkey工具的使用
- java中的异常处理
- Java之工具类发送邮件
- 求两个非负整数的最大公约数
- Centos 7 & Centos 7 防火墙
- 码云(git.oschina.net)使用入门
- leetcode 51. N-Queens DFS深度优先遍历