• python的class的__str__()和__repr__()函数


    repr(object)

    返回一个可以用来表示对象的可打印字符串
    首先,尝试生成这样一个字符串,将其传给 eval()可重新生成同样的对象 
    否则,生成用尖括号包住的字符串,包含类型名和额外的信息(比如地址) 
    一个类(class)可以通过 __repr__() 成员来控制repr()函数作用在其实例上时的行为。

    str([object])

    返回一个可以用来表示对象的可打印的友好的字符串.
    对字符串,返回本身。 
    没有参数,则返回空字符串 
    对类,可通过 __str__() 成员控制其行为。该成员不存在,则使用其 __repr__() 成员。
    与 repr 区别:不总是尝试生成一个传给 eval 的字符串,其目标是可打印字符串。

    python2 中:

    __repr__()
     如前所述
     
    __str__()
     如前所述,返回字符串(字节流)
     
    __unicode__()
     返回unicode字符串
     

    实现类时,应该实现 __unicode__(),然后提供了一个某种编码的 __str__()

    def __str__(self):    return unicode(self).encode('utf-8')
    在python3中: __str__() 直接就是 unicode,字节流由__bytes__()提供。

  • 相关阅读:
    sqli-labs(二)
    sqli-labs(一)
    路径遍历:ZIP条目覆盖
    JWT
    ActiveMQ漏洞利用方法总结
    Tomcat任意文件上传漏洞CVE-2017-12615
    jsp的文件包含漏洞
    记一次渗透实验(四)
    unity独立游戏开发日志2018/09/22
    python网络编程的坑(持续更新)
  • 原文地址:https://www.cnblogs.com/kex1n/p/6113536.html
Copyright © 2020-2023  润新知