鱼C论坛

 找回密码
 立即注册
查看: 1887|回复: 2

[已解决]为什么返回结果有的带引号,有的不带引号?

[复制链接]
发表于 2022-3-7 09:39:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 lzb1001 于 2022-3-7 09:47 编辑

>>> b = '{}1、{}2、{}3'.format('lzb', 'tina', 'leslie')

>>> b

'lzb1、tina2、leslie3'  # 返回结果带引号

>>> print(b)

lzb1、tina2、leslie3 # 返回结果不带引号

求助问题:

1、为什么返回结果有的带引号,有的不带引号?

2、有没有什么情况下print返回的结果带引号?之前好像看到过,却想不起来在哪里看到过,也找不到,所以问下

3、display(b)为何无法执行?
最佳答案
2022-3-7 09:42:32
本帖最后由 isdkz 于 2022-3-7 09:48 编辑

1、因为直接在 shell 中输出实际上是调用对象的 __repr__ 方法,对应了 repr(),

而 print 默认调用的是对象的 __str__ 方法,对应了 str()

2、你想要 print 输出原始字符串的话可以用 repr,比如 print(repr(b))

对 __str__ 和 __repr__ 的疑惑,你可以看一下这个:https://fishc.com.cn/thread-209850-1-1.html

3、display 不是内置函数,如果是你自己定义的函数,请把你对这个函数的定义放上来才好帮你分析
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-7 09:42:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-3-7 09:48 编辑

1、因为直接在 shell 中输出实际上是调用对象的 __repr__ 方法,对应了 repr(),

而 print 默认调用的是对象的 __str__ 方法,对应了 str()

2、你想要 print 输出原始字符串的话可以用 repr,比如 print(repr(b))

对 __str__ 和 __repr__ 的疑惑,你可以看一下这个:https://fishc.com.cn/thread-209850-1-1.html

3、display 不是内置函数,如果是你自己定义的函数,请把你对这个函数的定义放上来才好帮你分析
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-7 09:46:07 From FishC Mobile | 显示全部楼层
正常使用就行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-30 05:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表