Python中关于str()函数和repr()函数的那些事

22.Python中的repr()函数 《Python编程的术与道:Python语言进阶》视频课程 《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.youkuaiyun.com/course/detail/28618 repr()函数 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str() 或者 repr() 。 repr()和str()区别 函数str( )将其转化成为适于人阅读的前端样式文本,而repr(object)就是repr() 函数将对象转化为供解释器读取的形式。返回一个 阅读详情

相信很多小伙伴跟我一样,对于Python中的str函数和repr函数,有很多地方都是很不解,博主也是这样,于是决定从最开始的文档,然后一个一个print去看结果然后,就这样一直print,print总算是大致上理解其区别,话不多少直接上例子。

Python中的str( )和repr( )两个函数的区别,都是可以将任意的值转化为字符串:函数str( )将其转化成为适于人阅读的形式,而repr(object)就是转换成为阅读器阅读的形式, 返回一个可以用来表示对象的可打印字符串,用eval( )函数还可以返回相应的对象,下面直接上例子来说明这两个函数的用法。

对于字符串: a = ‘hello, world!\n’

>>> a
'hello, world!\n'     #输出的a本来的模样
>>> print(a)          #对a经过加工后输出,将转义字符进行转义
hello,world!
>>> print(str(a))     #可以看到对str返回的值进行print处理,这将与直接print(a)得到相同的结果
hello,world!    
>>> repr(a)           #获得一种机器阅读的形式,也就是这个变量背地里是什么样子的。
"'hello, world!\n'"
>>> print(repr(a))    #对于repr返回的值进行print处理,可以看到这与直接在终端输入a,得到的是相同的结果
'hello,world!\n'

以上就是最基本的在字符串的显示中的使用,对应指令和输出结果及注释相信大家很容易都能看明白,接下来说一下这两个函数另外的作用。

在类中的使用,可以定义一些在实例运行时,控制repr()函数作用在其实例上时的行为。

class test(object):
     def __init__(self, data):
          self.data = data

仅仅是这样的话我们进行如下操作:

>>> t = test(100)
>>> t
<__main__.test at 0x4db85f8>
>>> print(t)
<__main__.test at 0x4db85f8>
>>> str(t)
'<__main__.test at 0x4db85f8>'
>>> repr(t)
'<__main__.test at 0x4db85f8>'

在类中没有方法的时候,如果直接在终端输入类的实例,不会输出任何东西的,上面显示的内容是由于类的特殊方法(基本定制型)有str()和repr(), 在print(object)和直接运行实例的时候回打印字符串。如果没有实现(覆盖)该函数,就会出现上面的结果。

那我们定义一个str函数来看看效果:

class test(object):
     def __init__(self, data):
          self.data = data
     def __str__(self):
          return "ss"

>>> t = test(100)
>>> t
<__main__.test at 0x4db85f8>
>>> str(t)
'ss'
>>>print(t)
ss
>>>repr(t)
<__main__.test at 0x4db85f8>

可以看到在这里直接输入t还会跟上面的例子的结果一致,但是str(t)和print(t)已经发生了改变,不难看出显示的是我们在类中定义的str()函数的返回值,而rerp(t)还是 跟上个例子一样,下面我们也来实现一个str()函数来看一看效果。


class test(object):
     def __init__(self, data):
          self.data = data
     def __str__(self):
          return "ss"
     def __repr__(self):
          return "gg"

>>> t = test(100)
>>> t
gg
>>> str(t)
'ss'
>>>print(t)
ss
>>>repr(t)
'gg'
>>> print(repr(t))
gg

好了,可以很清楚的明白,默认的str() repr()函数与重构后的区别,以及这两者与直接输入和经过print处理以后的关系了吧。
也就是直接在终端输入对象,相当于调用print(repr(oblect))函数,如果没有被复写则会出现上面最开始的那种显示形式;而print(object)函数相当于调用了print(str(object))这个函数,如果没有被复写就是使用的默认的,也会出现上面的显示结果。

下面还有一个对于repr( )函数的说明:
Python中这个repr函数,对应repr(object)这个函数,返回一个可以用来表示对象的可打印字符串:

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

Python中,有的操作符和函数是做同样的事情,原因是某些场合下函数会比操作符更适合使用,比如函数对象可作为参数传递。

希望我的文章能够帮到你,喜欢的可以点一波关注!!您的支持是博主坚持的动力~~~

Python中repr与str的区别与联系详解 在Python中,repr和str是两个常见的字符串表示方法,用于将对象转换为字符串。虽然它们都可以用于字符串的生成,但在使用时有不同的用途和行为。本文将深入探讨repr和str的区别与联系,以及如何在Python中合理使用它们。repr首先,让我们简要了解一下repr和strrepr(representation的缩写)是Python中的一个内置函数,用于生成对象的“官方”字符串表示形式,通常是一个可以用来创建对象的表达式。它的目的是提供一个准确且可逆的表示,便于调试和开发。str。 阅读详情

相关推荐

Python中repr()和str()的比较与分析

具体来说,repr()所得到的字符串可以直接传递给eval()函数进行求值操作,而str()得到的字符串则不能。同时,repr()所得到的字符串中可能包含转义字符,而str()所得到的字符串中不会出现。在Python中,repr()和str()是两个常用的内置函数,主要功能是将一个对象转化为字符串形式。而str()函数则只会返回类名及其内存地址。对于列表类型,无论使用repr()还是str()函数,得到的都是一样的输出结果。这里可以看出,对于数字类型的变量,repr()和str()得到的结果是一样的。

持续更新 884

python中repr()函数用法详解

python中repr()函数用法详解

IT之一小佬的博客 1万+

遗传算法详解 附python代码实现

遗传算法 遗传算法是用于解决最优化问题的一种搜索算法。从名字来看,遗传算法借用了生物学里达尔文的进化理论:”适者生存,不适者淘汰“,将该理论以算法的形式表现出来就是遗传算法的过程。 问题引入 上面提到遗传算法是用来解决最优化问题的,下面我将以求二元函数: def F(x, y): return 3*(1-x)**2*np.exp(-(x**2)-(y+1)**2)- 10*(x/5 - x**3......

ha_ha_ha233的博客 22万+

Python repr函数

repr()函数用于获取对象的“官方”字符串表示形式。其中,object是要获取字符串表示形式的对象。repr()函数会尝试返回对象的“官方”表示形式,通常是能够被解释器读取的形式。这意味着repr()返回的字符串可以用来重新创建对象,从而保留了对象的完整性。)"通过在自定义类中实现__repr__()方法,可以自定义对象的 repr 表示形式。

日常分享数据分析开发、编程语言内容 4724

多智能体强化学习MASAC算法:从原理到PyTorch实战详解

深度强化学习通过智能体与环境的交互试错来学习最优策略,是解决复杂序列决策问题的核心技术。其核心原理在于利用价值函数或策略梯度来最大化累积奖励,在机器人控制、游戏AI等领域展现出巨大技术价值。当面对多个智能体需要协同或竞争的复杂动态环境时,单智能体算法因环境非平稳性而面临挑战,多智能体强化学习应运而生。Multi-Agent Soft Actor-Critic (MASAC) 算法融合了SAC的稳定高效与中心化训练去中心化执行的范式,通过维护中心化Critic网络和独立策略网络,有效解决了多智能体协作中的信用

weixin_30080745的博客 328

从权限对象到业务角色:把 SAP Authorization Object 讲清楚,并用 ABAP 写对一次 AUTHORITY-CHECK

摘要:SAP权限管理的核心在于Authorization Object(授权对象),它通过组合最多10个授权字段来精确控制用户访问权限。关键要点包括:1) 授权对象与ACTVT字段(如01创建/02修改/03显示)的配合使用;2) ABAP中AUTHORITY-CHECK语句的四种常见返回码(0通过/4字段不匹配/12无权限/40无效用户);3) 系统自动执行的S_TCODE事务码检查;4) 自定义授权对象时应遵循"最少且足够"原则,优先复用标准对象。在RAP和OData场景中,权限检查

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 264

Python中的str()函数和repr()函数

在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str() 或者 repr() 。 >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因为提供两个功能完全相同的内...

fate252的博客 6573

openmediavault(OMV) (1)安装部署

EXT3(Third Extended File System): EXT3 是 Linux 中广泛使用的日志文件系统,是 EXT2 文件系统的升级版本。这里可以根据自己的需求进行设置,目前只设置了自动登出为1天,为方便后续配置使用,其他设置可根据自己的具体需求进行设置。通过cd 命令进入到我们的raid存储中,通过ls发现里面没有任何的数据,因为我们的raid存储中还未创建任何数据。我的系统要安装在100G的磁盘上,故选择100G的磁盘,实际可以根据具体情况选择。

Monster✺◟(∗❛ัᴗ❛ั∗)◞✺的博客 2168

【Python】Python中str()和repr()函数的区别

作用 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() 。 区别与使用 参考文章:Python中str()和repr()函数的区别 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的语法,则会发生SyntaxError 异常), 适合开发和调试阶段使用。 >>> ...

寒泉 5万+

2026年数学建模国赛B题无线电干扰源的快速自动定位与清除 论文详细解析

数学建模竞赛论文无线电干扰源的快速自动定位与清除2026 年高教社杯全国大学生数学建模竞赛 B 题完整求解论文交会定位、极大极小测点优化、自适应多频道搜索与定向源恢复的统一建模模型、算法、代码、图表与验证一体化交付本文研究圆形目标区域中多个未知无线电干扰源的快速检测、定位与清除问题,建立了由误差楔交会模型、角度观测信息模型、分层勘测模型、鲁棒射线交会模型和定向覆盖反馈模型组成的统一求解框架。模型同时覆盖题目中的四个子问题:多测向射线形成的多边形定位区域及直径、第二个测点的极大极小优选、全向源自动搜索清除策略

YOLO 357

【2024-06-21】网易互娱秋招实习笔试三道编程题解

恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经。作者@TechGuide【全网同名】

试问道几许 1055

Python中str()和repr()的区别

区别 其实用处就是最大的区别了:str()主要用来为终端用户输出一些信息,而repr()主要用来调试;同时后者的目标是为了消除一些歧义(例如浮点数的精度问题),前者主要为了可读。 使用 In [12]: s = 'abc' In [13]: print(str(s)) abc In [14]: print(2.0/11) 0.18181818181818182 In [15]: repr(s) Out[15]: "'abc'" In [16]: repr(2.0/11) Out[16]: '0.18

python学习者的博客 3541

YOLO11多类别数据集的类别平衡方法:讲解类别不平衡问题的识别方法,以及过采样、欠采样、类别权重调整等解决方案(一)

类别不平衡问题是机器学习和计算机视觉领域中一个常见但棘手的挑战。简单来说,当数据集中不同类别的样本数量存在显著差异时,我们就称这个数据集存在类别不平衡问题。在YOLO目标检测任务中,这意味着某些类别的目标对象在训练数据中出现得非常频繁,而其他类别的目标对象则很少出现。 想象一下,你正在训练一个交通监控系统,需要检测不同类型的车辆。在这个场景中,"汽车"这个类别可能有成千上万个实例,而"自行车"或"摩托车"可能只有几百个实例。这种数量上的巨大差异就是典型的类别不平衡问题。 从数学角度来看,假设我们有一个包

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 939

Python repr() 和 str() 主要区别

repr()和str()是Python中两个将对象转换为字符串的内置函数,主要区别在于用途和输出格式。str()面向用户,生成可读性强的字符串(通过__str__方法实现);repr()面向开发者,生成技术性字符串(通过__repr__方法实现),通常可被eval()重建对象。自定义类应实现这两个方法,str()用于日志/UI等友好输出,repr()用于调试。在REST API、ChromeDriver等场景中,str()适合展示数据,repr()适合调试对象状态。若未定义__str__,会回退到__rep

m0_57545130的博客 721

Python全栈入门到实战【基础篇 05】核心基础:Python的2种运行模式(交互式+命令行式)

Python代码运行模式详解:交互式与命令行式对比 摘要: Python提供两种核心运行模式:交互式(REPL)和命令行式(脚本式)。交互式模式适合快速测试语法,即时反馈结果,通过终端输入python启动,特点是无需保存、临时执行,适合验证小段代码逻辑。命令行式模式需将代码保存为.py文件后运行,适合开发完整程序,可重复执行和修改。两种模式各有优势:交互式便于学习调试,命令行式适合实际开发。掌握两种模式的使用场景和切换方法,是Python入门的关键技能,能显著提升学习效率。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 4557

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python repr() 函数和str() 函数

Python repr() 函数和str() 函数

快递小可的博客 2813

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Python内置函数repr()详解 repr()函数的使用 repr()与str()的区别 自定义对象的repr() 总结——《跟老吕学Python编程》

对于自定义的对象,Python允许我们定义自己的__repr__()方法来控制repr()函数的行为。这个方法应该返回一个字符串,描述了对象的状态,使得可以通过这个字符串重构对象。self . age } )" p = Person("Alice" , 30) print(repr(p)) # 输出:Person('Alice', 30)self . age } )" p = Person("Alice" , 30) print(repr(p)) # 输出:Person('Alice', 30)

Python老吕的博客 1803

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python中str函数用法_Python str()和repr()函数用法示例

这篇文章主要为大家详细介绍了Python str()和repr()函数用法示例,具有一定的参考价值,可以用来参考一下。对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() 。区别与使用函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为...

weixin_31362539的博客 1469

Python repr() 函数和 str() 函数

Python可以将任意对象转化为字符串:repr()和 str(). 函数str()将对象转化为适于人类阅读的形式,而repr()转化为供解释器读取的形式。 repr()语法 # repr(object) s = 'RUNOOB' repr(s) # "'RUNOOB'" dict = {'runoob': 'runoob.com', 'google': 'googl...

xiaoyu_wu的博客 485

python中 str 和 repr_python repr()与str()区别总结

python中,用于将某一类型的变量或者常量转换为字符串对象的方法有两种,即repr()和str()。但是他们在定义、面向对象、返回处理方式、字符串处理和输出目的都有很大的不同,本文将做详细介绍。1、定义不同str()函数得到的字符串可读性好,用于将值转化为适于人阅读的形式;repr()函数得到的字符串通常可以用来重新获得该对象,将对象转化为供解释器读取的形式。2、面向对象和目的不同str()函数...

weixin_31881651的博客 768

python的repr和str有什么不同_str()和repr()的异同

str()函数和repr()函数,都是Python内置的标准函数。这两个函数都是根据参数对象返回一个字符串,但是又有一些不一样的地方。我们在使用的时候,常常搞混,倾向于使用简单明了的str()函数,而搞不清楚为什么还有一个不知所云的repr()函数。本文对此进行介绍。str()和repr()的相同之处str()和repr(),都是返回一个字符串出来,这个字符串,来自它们的参数。以上的代码显示,前面...

weixin_39674414的博客 183

python str和repr的区别_python的str()和repr()的区别

str()一般是将数值转成字符串。repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思。如list,dict使用str()是无效的,但使用repr可以,这是为了看它们都有哪些值,为了显示之用。The str() function is meant to return representations of values which are fairlyhuman-...

weixin_39689506的博客 585

Python中str()与repr()函数的区别

在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或者 repr() 。 >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因为提供两个功能完全相同的内建函数是没有意义的。先看一个例子。 >>> print(str('123'))

QuantSun的博客 560

python中str和repr_python中str()和repr()函数的区别

Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。对于数值类型、列表类型,str和repr方法的处理是一致;而对于字符串类型,str和repr方法处理方式不一样。repr()函数得到的字符串通常可以用来重新获得该对象,repr()的输入对python比较友好,适合开发和调试阶段...

weixin_39806388的博客 154

python中repr_关于python的str()和repr()函数

笔者学习python(2.7.3),对于srt()和repr()函数有些混淆,仔细研究了一下,以下是一点心得。1、str()函数str()返回一个字符串,是对象的可打印的显示。字符串就返回本身。>>> x=3>>> str(x)'3'>>> x='hello'>>> str(x)'hello'2、repr()函数repr()也...

weixin_39834984的博客 460
上一篇: Python学习之open 文件操作
Zz_Krystal
博客等级 码龄10年 36粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值