_repr_在python中是正式的吗
小编给大家分享一下_repr_在python中是正式的吗,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
创新互联建站致力于成都做网站、网站制作,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联建站,就选择了安全、稳定、美观的网站建设服务!
在python方法的创建中,有的是为了让计算机能够快速识别的,有的是服务于我们使用者的。相信这么说,小伙伴们已经大致知道正式和非正式使用的不同方向的。关于_repr_的使用上,经常会跟__str__放在一起讨论。当我们向开始使用_repr_前,需要弄清楚在python中是正式还是非正式的,下面就这么问题展开讨论。
也许可能也听说过__repr__函数,它也可以实现根据我们的需要自定义输出的功能。比如我们把上面的代码改下函数名,也可以得到一样的结果。
class point: def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return 'x: %s, y: %s' % (self.x, self.y)
我们运行它,同样会得到:
x: 3, y: 4
和我们上篇代码结果一样,这里__repr__正式,__str__ 非正式。
什么是正式?什么是非正式?光听文档上还是太抽象了,那我们就来看看几个 Python 内置对象的__repr__、__str__区别。 (PS:因为 Python 内置函数 repr() 和 str() 分别调用对象的__repr__和__str__,所以这边就用这两个函数来举例。)
import datetime s = 'hello' d = datetime.datetime.now() print(str(s)) print(repr(s)) print(str(d)) print(repr(d))
输出结果:
hello 'hello' 2018-11-29 22:39:18.014587 datetime.datetime(2018, 11, 29, 22, 39, 18, 14587)
可以看出repr()更能显示出对象的类型、值等信息,对象描述清晰的。 而str()能够让我们最快速了解到对象的内容,可读性较高。
还有哦,在 Python 交互式命令行下直接输出对象默认使用的是__repr__。
以上是“_repr_在python中是正式的吗”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
名称栏目:_repr_在python中是正式的吗
文章分享:http://myzitong.com/article/pehcep.html