`

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_魔法方法_实用指南_1741403704.zip

    在Python中,一些常见的魔法方法包括`__init__`(初始化方法)、`__str__`(字符串表示方法)、`__repr__`(官方字符串表示方法)、`__len__`(长度方法)、`__iter__`(迭代方法)、`__getitem__`(索引方法)、`__...

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

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

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

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

    python的特殊方法 str

    在Python中,__str__是一个特殊方法,用于定义对象的字符串表示形式。通过重写__str__方法,可以控制当使用print函数输出对象或者调用str函数将对象转换为字符串时,如何显示对象的内容。__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__`替代)是三个非常重要的特殊方法,它们定义了对象如何被转化为字符串,这对于调试、日志记录以及交互式解释器中的...

Global site tag (gtag.js) - Google Analytics