广告
返回顶部
  • 212
分享到

__str__

2023-01-31 00:01:14 212人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

当打印一个类的实例时,返回的字符串是对象的地址信息,如<__main__.Student object at 0x109afb310>,很不好看 可通过在类内定义__str__(),这样打印实例时就会返回一个好看的

当打印一个类的实例时,返回的字符串是对象的地址信息,如<__main__.Student object at 0x109afb310>,很不好看
可通过在类内定义__str__(),这样打印实例时就会返回一个好看的字符串,而且容易看出实例内部重要的数据

  定义__str__()

    class Student(object):
    
        def __init__(self, name):
            self.name = name
            
        def __str__(self):
            return 'Student object (name: %s)' % self.name
        
    print(Student('Michael'))    #输出:Student object (name: Michael)

 

  直接输入变量

    s = Student('Michael')
    s    #输出:<__main__.Student object at 0x109afb310>,打印出来的实例还是不好看

 

  定义__repr__()

  因为直接显示实例变量时,它调用的不是__str__(),而是__repr__()
  __str__()和__repr__()区别
  __str__()返回用户看到的字符串
  __repr__()返回程序开发者看到的字符串,即__repr__()是为调试服务的

  解决办法是再定义一个__repr__(),但是通常__str__()和__repr__()代码都是一样的
  所以,有个偷懒的写法,就是直接将__str__ 赋给__repr__

    class Student(object):
    
        def __init__(self, name):
            self.name = name
            
        def __str__(self):
            return 'Student object (name=%s)' % self.name
            
        __repr__ = __str__    
        
    s = Student('Michael')
    s    #输出:Student object (name: Michael)

 

--结束END--

本文标题: __str__

本文链接: https://www.lsjlt.com/news/182620.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • __str__
    当打印一个类的实例时,返回的字符串是对象的地址信息,如<__main__.Student object at 0x109afb310>,很不好看 可通过在类内定义__str__(),这样打印实例时就会返回一个好看的...
    99+
    2023-01-31
  • Python中__str__()的妙用
    目录前言知识点剖析后话前言 这里是Python小技巧的系列文章。这是第三篇,object.__str__(self)方法的妙用。 书接上回,这次还是介绍Python类的内置方法,__...
    99+
    2023-01-28
    Python __str__() Python str
  • 怎么使用python中的__str__ 和__repr__
    本篇内容主要讲解“怎么使用python中的__str__ 和__repr__”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用python中的__str__ 和__repr__”吧!1. 引...
    99+
    2023-06-02
  • 一文彻底搞懂Python中__str__和__repr__
    __str__和__repr__有什么异同字符串的表示形式我们都知道,Python的内置函数 repr()​ 能够把对象用字符串的形式表达出来,方便我们辨认。这就是“字符串表示形式”。repr()​ 就是通过 __repr__​ 这个特殊方...
    99+
    2023-05-14
    Python 函数 内置
  • Python中__str__和__repr__有什么异同点
    这篇文章主要介绍了Python中__str__和__repr__有什么异同点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中__str__和__repr__有什么异同点文章都会有所收获,下面我们一起...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作