首页 > 其他分享 >__str__和__repr__方法

__str__和__repr__方法

时间:2023-06-29 09:04:41浏览次数:17  
标签:__ 对象 repr value str MyClass

__str____repr__方法

  • __str____repr__方法是Python中的特殊方法,用于定义对象的字符串表示形式。
  • __str__方法用于返回对象的可读性好的字符串表示形式,通常用于打印对象或将对象转换为字符串。
    • 当我们使用print函数打印一个对象时,实际上是调用了该对象的__str__方法来获取字符串表示形式。
    • 可以在类中重写__str__方法来自定义对象的打印输出内容。
  • __repr__方法用于返回对象的官方字符串表示形式,它应该是一个可以用于创建该对象的有效Python表达式,并且能够准确地重新创建该对象。
    • 通常情况下,当我们在Python的交互式环境中直接输入一个对象名并回车时,实际上是调用了该对象的__repr__方法以获取对象的字符串表示形式。

下面是一个示例:

class MyClass:
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return f'MyClass(value={self.value})'

    def __repr__(self):
        return f'MyClass({self.value})'

obj = MyClass(10)
print(obj)  # 调用__str__方法,输出:MyClass(value=10)
obj  # 调用__repr__方法,输出:MyClass(10)
  • 在以上示例中,__str__方法返回了一个可读性好的字符串形式,而__repr__方法返回了一个官方字符串形式,可以用于重新创建该对象。

标签:__,对象,repr,value,str,MyClass
From: https://www.cnblogs.com/dream-ze/p/17513073.html

相关文章

  • 20230628习题总结
    1.P6891[JOISC2020]ビルの飾り付け4本题如果按照最直接的方式dp时空都是\(O(n^2)\)。可以用一个常用的优化:交换下标和值,用dp数组维护一个集合(可以证明是一个区间,于是用左右端点表示)。2.P7216[JOISC2020]美味しい美味しいハンバーグ正解是2-SAT,但是太麻烦,码量大难想。其......
  • 离线安装mysql报错解决方法:/usr/sbin/mysqld: error while loading shared libraries:
    Linux:centos7.664位mysql:5.6使用离线方式安装:rpm-ivh--nodepsmysql*,执行systemctlstartmysqld.service发现启动不了,通过vi/var/log/mysql.log看到如下关键字:libraries:libaio.so.1,之前也是按照网上帖子各种修改都没有解决问题,详细报错如下:/usr/sbin/mysqld:error......
  • 傅里叶展开作图
     原文地址:https://www.cnblogs.com/liqinglucky/p/fourier.htmlimportmatplotlib.pyplotaspltimportnumpyasnpt=np.arange(-2*np.pi,2*np.pi,0.01)s=(4*np.sin(t))/(np.pi)+(4*np.sin(3*t))/(3*np.pi)plt.plot(t,s)plt.xlabel('time(s)')plt.yla......
  • CocosCreator 3.7.x 一步步给你的项目增加热更新
    官方文档1. 热更新范例教程·CocosCreator2. 热更新管理器·CocosCreator官方文档主要是讲了原理,然后给了一个基于3.3.2版本的示例,都看完了之后感觉只是一知半解。所以决定写一个stepbystep的教程,进一步以供大家参考。(当前,这里也有其它帖子可供参考)插件准备......
  • 希望所有计算机专业学生都知道这门课
    计算机科学速成课,主讲人是CarrieAnne,这是一门很全面的计算机原理入门课程,短短10分钟可以把大学老师十几节课讲的东西讲清楚!整个系列一共41个视频,字母站上有中文字幕版。每个视频都是一个特定的主题,例如软件工程、人工智能、操作系统等,主题之间都是紧密相连的,比国内很多大学计算......
  • linux把文件压缩成.tar.gz的命令&各个压缩解压命令大全--九五小庞
    针对LINUX中解压和压缩的命令,一直以来使用都模糊不清,今天在此进行整理01-.tar格式解包:[*******]$tarxvfFileName.tar打包:[*******]$tarcvfFileName.tarDirName(注:tar是打包,不是压缩!)02-.gz格式解压1:[*******]$gunzipFileName.gz解压2:[*******]$gzip-dFileName.gz压缩:[*******]$gzipFileName03-......
  • 前缀长度转成子网掩码
    原文地址:https://www.cnblogs.com/liqinglucky/p/ipv6_mask.html将前缀长度转成子网掩码#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<string.h>#include<stdlib.h>intmask_fun(intm......
  • 【从零开始学微服务】06.微服务架构的建设思路
    大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。微服务看起来很美,但其实是需要一个技术体系或平台体系来支撑并且落地的。微服务架构建设分为两种思路:框架模式服务网格(ServiceMesh)模式接下来我们对上面的两个思路进行详细的介绍和对比。框架框架模式的典型代......
  • 【后端面经-Java】AQS详解
    目录1.AQS是什么?2.AQS核心思想2.1基本框架2.1.1资源state2.1.2CLH双向队列2.2AQS模板3.源码分析3.1acquire(int)3.1.1tryAcquire(int)3.1.2addWaiter(Node.EXCLUSIVE)3.1.3acquireQueued(Nodenode,intarg)3.2release(int)3.2.1tryRelease(int)3.2.2unparkSuccess......
  • Codeforces[CF1036B]Diagonal Walking v.2题解
    题目大意很明显,这道题就是求k步之内到达点\((a,b)\),然后尽量走对角线,求能走对角线的最大值。做题思路首先明白一个事实,即一个对角线可以通过增加一步而抵达点不变,如图:我们可以这样思考这道题,在到达目的地以后,剩余步数如果为双数,则在对角线来回走,最后会到目的地。但如果剩......