`

python __str__ , __repr__区别

 
阅读更多

Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。

    函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式

(如果没有等价的语法,则会发生SyntaxError 异常) 某对象没有适于人阅读的解释形式的话, str() 会返回与repr()

   等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的解读方式。

   字符串和浮点数,有着独特的解读方式。

 

class Person(object):

 

    def __str__(self):

        return "in __str__"

 

    def __repr__(self):

        return "in __repr__"

 

 

p = Person()

 

"""

输出

 

>>> p

in __repr__

>>>

>>> str(p)

'in __str__'

>>> repr(p)

'in __repr__'

"""

 

分享到:
评论

相关推荐

    Python中__repr__和__str__区别详解

    在Python编程语言中,`__repr__`和`__str__`是两个非常重要的特殊方法,它们主要用于对象的表示和输出。理解它们的区别对于编写可读性更强的代码至关重要。 `__repr__`方法(代表representation)主要是为了解释一...

    Python中的__str__()方法与__repr__()方法

    先告诉大家__str__()方法与__repr__()方法的返回值必须都是字符串,否则就会抛出异常。 看这一段代码 class Person(object): def __init__(self, name, age, sex): self.name = name self.age = age self.sex =...

    Python 的 __str__ 和 __repr__ 方法对比

    阅读到 Strings 中关于转换对象为字符串的内容,介绍了 repr 函数,趁着还没有真正了解 Python 面向对象的生疏与热度,感性上理解一下 repr 与 str 这两个函数的区别。 Python 的全局方法 repr 和 str 会映射到对象...

    python中__repr__ VS __str__

    __repr__ vs __str__ 看下面例子: >>> class Spam(): ... def __init__(self, name = 'Bob'): ... self.name = name >>> S = Spam() >>> s # 显示并并不友好 直接显示了内存地址 >>> print(s) # 重载__repr__后...

    详解Python中__str__和__repr__方法的区别

    除了__str__和__repr__的区别外,上述文档的【部分内容】还介绍了tmpfs的使用。tmpfs是一种文件系统,它将数据保存在计算机的随机存取存储器(RAM)中,而不是存储在物理磁盘上。这使得读写操作变得非常快速,因为...

    Python中函数 __str__ 和 __repr__ 的区别

    简而言之: __str__ 的目标在于可读性(对用户更友好) __repr__ 的目标在于无歧义(更有助于调试) 举个栗子(Difference between str and repr?...注:str()和repr()函数分别调用的是 __str__ 和 _

    Python_scripts_2.zip

    9. **魔法方法**:Python有一些特殊的内置方法,如`__str__`(返回对象的字符串表示)、`__repr__`(返回对象的解释器可读表示)等,这些方法在特定上下文中会被自动调用。 在压缩包“Python_scripts_2”中,可能...

    02_Python_高级讲义.zip

    理解类的`__init__`、`__str__`、`__repr__`等特殊方法对于编写清晰的OOP代码至关重要。 4. **异常处理**:Python的异常处理机制使用`try/except/finally`块来捕获和处理错误。学习如何有效地抛出、捕获和处理异常...

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

    如果`__str__`方法没有被定义,当使用`repr()`函数转换对象为字符串时,Python会调用`__repr__`方法。 总结起来,`__eq__`方法用于定义对象间相等性的比较逻辑,而`__str__`方法则用于提供对象的友好字符串表示。这...

    Python 基础教程之str和repr的详解

    在Python编程语言中,`str`和`repr`是两个非常重要的内建函数,它们用于将数据转换为可读的字符串格式。这篇文章将深入探讨这两个函数的区别和应用场景。 首先,`str`函数的主要目的是将一个对象转化为人类可读的...

    学学Python_字符串02_格式化

    在Python 2.x中,字符串格式化通常使用`%`操作符,而在Python 3.x中,引入了更强大且灵活的`str.format()`方法。此外,还有一种新的f-string(formatted string literals)格式化方式,它在Python 3.6及更高版本中...

    通过实例了解Python str()和repr()的区别

    在Python编程语言中,`str()`和`repr()`是两个用于转换对象为字符串的内置函数,它们有着不同的用途和表现。这篇文章将通过实例来深入理解两者的区别。 首先,`str()`函数主要用于创建适合人类阅读的字符串表示。它...

    python之__len__()

    `__repr__`与`__str__`相同,确保在交互式环境中也能得到可读的结果。 3. `__len__`方法返回`self.numbers`列表的长度,即斐波那契数列的元素个数。这样,当我们调用`len(Fib(10))`时,实际上是在调用`Fib`实例的`__...

    Python-autorepr轻松实现reprstrandunicode方法

    在Python编程中,`__repr__`,`__str__`和`__unicode__`(在Python 3中,`__unicode__`被`__str__`替代)是三个非常重要的特殊方法,它们定义了对象如何被转化为字符串,这对于调试、日志记录以及交互式解释器中的...

    Python3_x和Python2_x的区别.pdf

    在本文中,我们将深入探讨这些关键区别,帮助读者更好地理解Python的演进和发展,以便在学习和使用Python3时能够更加得心应手。 首先,从性能角度看,Python3.0在发布初期的运行效率相比Python2.5略低约30%,但在...

    python使用str & repr转换字符串

    ### Python 使用 `str` 和 `repr` 转换字符串 在Python中,`str` 和 `repr` 是两种常见的转换方法,它们分别用于不同场景下的字符串表示。 #### `str()` 方法 `str()` 主要功能是将一个对象转换为字符串形式。它...

Global site tag (gtag.js) - Google Analytics