内建函数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 dr a __str__ >>> dr a __repr__ >>> "%s" % dr ‘a __str__‘ >>> "%r" % dr ‘a __repr__‘
为什么有了repr()还须要``?
Python中。有的操作符和函数是做相同的事情,原因是某些场合下函数会比操作符更适合使用,比方函对象的数量可以被用作一个参数。双星号(**)幂和pow()内置函数返回x的y钍.
版权声明:本文博客原创文章,博客,未经同意,不得转载。
时间: 2024-10-08 18:01:14