为什么Python解释器使用repr()来打印表达式? [关闭]

2023-12-10

为什么Python解释器使用repr()打印表达式?

例如:

>>> S = "First line.\nSecond line."
>>> S
'First line.\nSecond line.'

当然可以触发str()通过打印语句:

>>> print S
First line.
Second line.

但为什么是str()交互模式下默认不触发?从很多方面来看,这似乎都是更好的选择。


str()用于“漂亮的打印”,但在Python解释器中,您更有可能想要背景信息,例如对象的id,它是什么类等(理论上),并且repr()用于此。如果你跑pydoc __builtin__.repr, 它说“对于大多数对象类型,eval(repr(object)) == object。”有一些类型完全不同,但其__str__方法返回相同的东西。例如,str(str(some_object))是相同的str(same_object),所以如果我有一个清单,[0, 4, 5],我用它打印了str,我会得到[0, 4, 5]。如果我打印str(mylist) with str(),我仍然会得到[0, 4, 5]即使它们是不同的类型。和repr(), 然而,str(mylist)将打印为'[0, 4, 5]'这更有可能是我正在寻找的。使用解释器的人可能正在测试某些东西或调试某些东西,他想知道这是一个字符串,而不是一个真正的列表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么Python解释器使用repr()来打印表达式? [关闭] 的相关文章

  • matplotlib:调整图形窗口大小而不缩放图形内容

    当您调整图形大小时 Matplotlib 会自动缩放图形窗口中的所有内容 通常这是用户想要的 但我经常想增加窗口的大小 为其他东西腾出更多空间 在这种情况下 我希望在更改窗口大小时预先存在的内容保持相同的大小 有谁知道一个干净的方法来做到这
  • python blpapi安装错误

    我试图根据 README 中的说明为 python 安装 blpapi 3 5 5 但是在运行时 python setup py install 我收到以下错误 running install running build running b
  • 从 Django 基于类的视图的 form_valid 方法调用特殊(非 HTTP)URL

    如果你这样做的话 有一个 HTML 技巧 a href New SMS Message a 点击新短信打开手机的本机短信应用程序并预 先填写To包含所提供号码的字段 在本例中为 1 408 555 1212 以及body与提供的消息 Hel
  • 从 Python 将分层 JSON 数据写入 Excel xls?

    我想将一些数据从 python 写入 xlsx 我目前将其存储为 JSON 但它从 Python 中输出什么并不重要 单个文章的 JSON 如下所示 Word Count 50 Key Words Blah blah blah Foo Fr
  • 如何使用 Twython 将 oauth_callback 值传递给 oauth/request_token

    Twitter 最近刚刚强制执行以下规定 1 您必须通过oauth callbackoauth request token 的值 这不是可选的 即使您已经在 dev twitter com 上设置了一个 如果您正在执行带外 OAuth 请通
  • Colab 的使用限制持续多久?

    当我对同一帐户的两个笔记本同时使用两个 GPU 约半小时后 Colab 已 12 小时未运行 此消息不断弹出 由于 Colab 中的使用限制 您当前无法连接到 GPU 自从我上次使用 colab 以来已经过去了大约两个小时 但该消息仍然弹出
  • 无法使用 Python 循环分页 API 响应

    所以 我对这个感到摸不着头脑 使用 HubSpot 的 API 我需要获取我客户的 门户 帐户 中所有公司的列表 遗憾的是 标准 API 调用一次只能返回 100 家公司 当它返回响应时 它包含两个参数 使分页响应成为可能 其中之一是 ha
  • 更改 numpy 数组的结构强制给定值

    如何缩小栅格数据的比例4 X 6大小成2 X 3如果 2 2 像素内的任何元素包含 1 则大小强制选择 1 否则选择 0 import numpy as np data np array 0 0 1 1 0 0 1 0 0 1 0 0 1
  • Scrapy Splash,如何处理onclick?

    我正在尝试抓取以下内容 我能够收到响应 但我不知道如何访问以下项目的内部数据以抓取它 我注意到访问这些项目实际上是由 JavaScript 和分页处理的 这种情况我该怎么办 下面是我的代码 import scrapy from scrapy
  • 如何在seaborn中绘制离散变量的分布图

    当我画画的时候displot对于离散变量 分布可能不像我想象的那样 例如 We can find that there are crevices in the barplot so that the curve in kdeplot is
  • 如何在每次运行 python 程序时添加新列

    我希望我的表的第一列作为卷号 第二列作为名称 每当我运行 python 程序时 我想在表中添加一列日期 在这个新列中 我想填充从 user list 获得的列表将包含值 P A P P 等 如何处理 我尝试首先通过 alter 命令添加一列
  • 为什么在 __init__ 函数中声明描述符类会破坏描述符功能?

    在下面的 B 类中 我想要 set 每当您赋值给 A 类中的函数时 就会调用该函数B a 相反 将值设置为B a覆盖B a与价值 C类分配给C a工作正常 但我想为每个用户类都有一个单独的 A 实例 即我不想在 C 的一个实例中更改 a 来
  • 检查列表是否已排序的 Pythonic 方法

    有没有一种Python式的方法来检查列表是否已经排序ASC or DESC listtimestamps 1 2 3 5 6 7 就像是isttimestamps isSorted 返回True or False 我想输入一些消息的时间戳列
  • Scapy:如何将新层(802.1q)插入现有数据包?

    我有一个数据包转储 想要将 VLAN 标记 802 1q 标头 注入到数据包中 怎么做 为了找到答案 我查看了Scapy 插入新层和记录问题 https stackoverflow com q 17259592 1381638 这确实很有帮
  • Python 中使用 globals() 的原因?

    Python 中有 globals 函数的原因是什么 它只返回全局变量的字典 这些变量已经是全局的 所以它们可以在任何地方使用 我只是出于好奇而问 试图学习Python def F global x x 1 def G print glob
  • telethon 库:如何通过电话号码添加用户

    我正在研究 Telegram 的 Telethon 库 它可以使用 Telegram API 充当 Telegram 客户端 重要提示 这是电报客户端 API https core telegram org telegram api 而不是
  • Pandas 中的数据透视表小计

    我有以下数据 Employee Account Currency Amount Location Test 2 Basic USD 3000 Airport Test 2 Net USD 2000 Airport Test 1 Basic
  • python:xml.etree.ElementTree,删除“命名空间”

    我喜欢 ElementTree 解析 xml 的方式 特别是 Xpath 功能 我有一个带有嵌套标签的应用程序的 xml 输出 我想按名称访问此标签而不指定名称空间 这可能吗 例如 root findall molpro job 代替 ro
  • Django 按小时过滤

    我找到了那个链接 http code djangoproject com attachment ticket 8424 time filters diff http code djangoproject com attachment tic
  • 如何从Python枚举类中获取所有值?

    我正在使用 Enum4 库创建一个枚举类 如下所示 class Color Enum RED 1 BLUE 2 我要打印 1 2 作为某处的列表 我怎样才能实现这个目标 您可以执行以下操作 e value for e in Color

随机推荐

  • $_Session 登录和注销 php 的“复杂性”

    我正在为大学做一个数据库项目 我在这里遇到了一个问题 我试图在没有会话时显示 登录 在有会话时显示 注销 但实际上即使在我登录后它仍然显示我 登录 并且我尝试 print r SESSION 它告诉我该变量未定义 我有一个注销文件 和一个
  • PHP 发送 UTF-8 邮件而不使用 PEAR::Mail PEAR::Mail_Mime

    我希望能够使用包含 8 位字符 的 PHP mail 发送电子邮件 它们将用在主题 消息和 发件人 标题中 在不使用 PEAR 包的情况下如何做到这一点 如果您不介意对不需要的单词进行编码 最简单的解决方案是将所有内容放入 base64 R
  • 上传文件之前生成 Firebase 存储下载 url

    Firebase Storage 有没有办法生成一个指向任何内容的下载网址 以便稍后将文件上传到该网址 类似的东西 在 Kotlin 中 fun generateItemPhotoUrl id String storageRef child
  • 调用链内的空合并

    如果我有一长串对象 每个对象都有可能在 Linq where 子句中返回 null 例如 SomeSource Where srcItem gt srcItem DataMembers SomeText Connection Connect
  • Realm 返回空对象列表

    我想从 Farmer 对象中获取 CropDataList 当我获取 Farmer 对象时 它不为空 但与 Farmer 对象关联的作物数据列表返回空 我可以通过 Stetho 查看数据库条目 并且列表中有一个条目 这是我的代码 publi
  • 使用 LINQ(赛程列表)形成锦标赛表

    I have an array of players string and now I need to get an array of pairs representing games playerN playerM to orginize
  • httr POST 请求 API 返回 400 错误

    我正在使用 R 中的 httr 包来尝试查询 postcode io API http postcodes io docs 我可以按照说明成功查询单个邮政编码 sample4 lt GET api postcodes io postcode
  • Bull队列:当作业失败时,如何停止队列处理剩余作业?

    我在用bull队列来处理一些作业 在当前场景中 每个作业都是某种操作 因此 每当队列中的操作列表中的操作 作业 失败时 队列就必须停止处理剩余的作业 操作 到目前为止我尝试过什么 所以我尝试在特定作业失败时暂停队列 接下来 队列在耗尽时恢复
  • Glassfish v4 和 SSL - 管理员不再起作用

    我已经完成了将 SSL 证书添加到 glassfish v4 中的步骤 我已经验证它可以通过浏览器和我的 java swing 客户端工作 我在客户端使用 apache 的 http 客户端库 不起作用的是管理控制台 成功导入 SSL 后
  • 如何在角度2中使用jquery?

    我知道我是否需要在 Angular 1 3 或 1 4 中使用第三方库 我需要对该东西进行指令并在我们的项目中使用它 现在我正在使用角度2 0 我想把这个做成angular 2 https jqueryui com autocomplete
  • minSdkVersion破解程序

    所以每当我添加
  • 使用 for 循环将输入分成两部分

    这就是我在尝试使用网络课程学习 Python 时陷入困境的地方 编写一个程序 采用 number1 number2 形式的单个输入行 其中两者都表示正整数 并输出两个数字的总和 例如 输入 5 12 时输出应为 17 我们不应该使用 spl
  • 使用 JSoup 从 Google 搜索结果的所有页面检索所有链接

    我有以下使用 JSoup 在 java 中解析 HTML 的代码 Document linksDoc null linksDoc Jsoup connect http www google com search q jbutton user
  • 无法让球衣 2 应用程序使用自定义杰克逊 XmlMapper

    我正在使用 Jersey 2 22 1 和 Jackson 2 6 3 编写 Web 应用程序 我的 pom xml 如下所示
  • Java ACM 包

    我正在尝试在 Eclipse 中编写一个 java 应用程序 我真的很想使用 ACM Program 包 但是 我的 Eclipse 副本没有安装它 我查遍了整个网络 但找不到 ACM 包的下载 更多信息 每当我尝试代码时 package
  • Chrome 中 :first-letter 的奇怪行为

    将看似无害的类添加到具有包含 first letter 的类的元素会导致第一个字母在某些情况下无法正确呈现 元素最初具有类 unindent 然后添加类 menuitemon 小提琴http jsfiddle net pgf3reyt 4
  • 如何显示多张图片?

    我的html代码是这样的
  • 在 global.asax 中实现自定义错误

    In my global asax文件 我有以下代码 void Application Error object sender EventArgs e Exception TheError Server GetLastError if Th
  • 访问 AngularJS 工厂中的 $scope?

    我是 AngularJS 的新手 觉得它很有趣 但我对以下情况有点不清楚 app factory deleteFac function http var factory factory edit function id http get c
  • 为什么Python解释器使用repr()来打印表达式? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 为什么Python解释器使用repr 打印表达式 例如 gt gt gt S First line nSecond line gt gt gt S First line nSecond l