lzb1001 发表于 2022-3-7 09:39:15

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

本帖最后由 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)为何无法执行?

isdkz 发表于 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 不是内置函数,如果是你自己定义的函数,请把你对这个函数的定义放上来才好帮你分析

wp231957 发表于 2022-3-7 09:46:07

正常使用就行
页: [1]
查看完整版本: 为什么返回结果有的带引号,有的不带引号?