当前位置: 首页 > news >正文

公司网站建设需要什么网络营销公司注册找哪家

公司网站建设需要什么,网络营销公司注册找哪家,自己做网站送外卖,郴州做网站的公司Python中__str__和__repr__的区别(最最最清晰的解释) 在Python的面向对象编程体系中,__str__和__repr__这两个特殊方法具有独特且重要的作用,尽管它们都涉及对象的字符串表示形式的定义,但在功能和使用场景上存在显著…

Python中__str____repr__的区别(最最最清晰的解释)

在Python的面向对象编程体系中,__str____repr__这两个特殊方法具有独特且重要的作用,尽管它们都涉及对象的字符串表示形式的定义,但在功能和使用场景上存在显著差异。

一、功能概述

__str__

__str__是一个特殊的方法,其核心功能是为对象提供一种“非正式”且“用户友好”的字符串表达方式。它主要用于生成一个易于理解和阅读的字符串,旨在向用户清晰地展示对象所包含的关键信息。当使用print()函数来输出一个对象时,Python会自动调用该对象的__str__方法(前提是该方法已定义),以获取合适的字符串用于显示。这种机制使得用户能够以直观的方式了解对象的基本情况,无需深入了解对象的内部结构和实现细节。

__repr__

__repr__同样是一种特殊方法,其作用是为对象提供一种“正式”且“开发者友好”的字符串表示形式。它的主要目的是生成一个能够精确地重新创建该对象的字符串表示。在开发和调试过程中,开发者经常需要准确了解对象的状态和特征,以便进行故障排查、代码调试以及对象的复制和重建等操作。__repr__方法返回的字符串应具备明确性和无歧义性,最好能够通过eval()函数直接重新创建出与原始对象完全相同的对象。

二、返回值要求

__str__

__str__方法返回的字符串应当简洁明了,重点突出对象的关键内容,以一种对用户友好的方式呈现。其目标是让用户能够快速、轻松地获取对象的核心信息,而无需过多关注技术细节。例如,对于一个自定义的Person类,__str__方法可能返回类似于"姓名:[具体姓名],年龄:[具体年龄]"的字符串格式,其中“具体姓名”和“具体年龄”是Person类实例的相应属性值。这样的字符串表示方式符合人类的阅读习惯,能够直观地传达出对象所代表的人物的基本信息。

__repr__

__repr__方法返回的字符串则需要更加精确和详细,要包含足够的信息以便能够准确地重新创建对象。它通常应遵循一种能够被Python解释器理解的格式,使得通过eval()函数执行该字符串能够还原出原始对象。例如,对于一个Point类的实例,表示一个二维平面上的点坐标,__repr__方法可能返回"Point([x坐标值], [y坐标值])"的形式,其中“[x坐标值]”和“[y坐标值]”分别是该点的横坐标和纵坐标。这种表示形式不仅明确地说明了对象的类型是Point,还详细给出了创建该点对象所需的坐标信息,方便开发者在需要时准确地重建相同的对象。

----------------------------------------------------------------------

好!下面进入正题(上面是AI给我的解释)

那么这两个到底区别在哪里呢,我将用一个案例展示出来__repr__它究竟好在哪?

首先我们来看一个代码:

class Stu:def __init__(self, name, age):self.name = nameself.age = agedef __str__(self):return f"姓名: {self.name}, 年龄: {self.age}"
s = Stu("Alice", 20)
print(s)

代码很简单,定义一个学生类创建一个学生对象然后打印
在这里插入图片描述

接下来我们再来看

class Stu:def __init__(self, name, age):self.name = nameself.age = agedef __str__(self):return f"姓名: {self.name}, 年龄: {self.age}"
stu_list = [Stu("张三", 20), Stu("李四", 21), Stu("王五", 22)]
print(stu_list)

也很简单哈,我想创建一个学生列表,里面有三个学生,好接下来打印
在这里插入图片描述
这什么玩意看来它这也不行啊。此时__repr__就可以上场了

class Stu:def __init__(self, name, age):self.name = nameself.age = agedef __repr__(self):return f"姓名:'{self.name}', 年龄:{self.age})"
stu_list = [Stu("张三", 20), Stu("李四", 21), Stu("王五", 22)]
print(stu_list)

好我们来打印它
在这里插入图片描述

我丢!*********************牛

总结:

文邹邹的解释一大通其实总结下来就是__repr__比__str__更牛,用就完了,所以平时可以直接选择__repr__。

http://www.ds6.com.cn/news/12922.html

相关文章:

  • 花都手机网站建设镇江网站建设企业
  • 科技网站欣赏谷歌浏览器下载
  • 怎么做淘宝客的跳转网站seo外包是什么
  • seo 网站文章一般要多少字百度应用搜索
  • 自己做彩票网站犯法吗抖音推广网站
  • 漳州做网站制作免费的网络营销方式
  • 上海环球金融中心风水手机系统优化软件哪个好
  • 山东站群网站建设澎湃新闻
  • 国务院政府网站发展建设的意见站长工具seo综合查询可以访问
  • 佛山营销型网站建设公司网站开发工程师
  • 网站建设一般人能操作吗百度浏览器
  • 南通外贸建站微信公众号怎么推广
  • php 网站开发教程百度一下百度网页版
  • 政府网站数据库错误百度排行榜明星
  • 六安企业网站seo多少钱搜索引擎推广有哪些
  • 企业网站建设方案.doc广告行业怎么找客户
  • 一千元做网站长春网站建设定制
  • 福州网站建设网站设计网站推广营销推广方案怎么写
  • 网站服务百度地图疫情实时动态
  • 农机局网站建设总结网络广告推广方案
  • 企业门户网站的建设与实现论文百度口碑官网
  • 长沙抖音代运营电话淄博seo怎么选择
  • 什么网站做的好看的地方网站建设
  • 关于我校校园网站建设的调研报告小程序制作费用一览表
  • 小说网站开发数据库徐州seo推广优化
  • 网站自助授权系统电脑培训班价目表
  • 京东pc网站用什么做的网站推广排名公司
  • 电商哪个岗位最吃香天津债务优化公司
  • 合肥seo网站推广阿里大数据官网
  • 做网站 橙色怎么搭配在百度怎么免费发布广告