1728160496 发表于 2022-7-31 16:12:42

为什么print('hello\n'*10)和'hello\n'*10结果不一样?

本帖最后由 1728160496 于 2022-7-31 16:14 编辑

如题,前者的结果是

hello
hello
hello
hello
hello
hello
hello
hello
hello
hello
后者的结果是:'hello\nhello\nhello\nhello\nhello\nhello\nhello\nhello\nhello\nhello\n'

w.py 发表于 2022-7-31 17:07:37

不知道啊,我记得小甲鱼之前的视频讲过吧

tommyyu 发表于 2022-7-31 17:38:43

第一个是把他给打印出来,打印的时候是不能出现\n \t这些转义字符和引号的

第二个是把他给显示出来,一般显示的时候不会像这样
>>>'hello\n'*3
'''hello
hello
hello'''
而是这样>>>'helllo\n'*3
'hello\nhello\nhello\n'

liuzhengyuan 发表于 2022-7-31 23:33:48

第二个只在互交模式生效

1728160496 发表于 2022-8-6 15:40:41

tommyyu 发表于 2022-7-31 17:38
第一个是把他给打印出来,打印的时候是不能出现\n \t这些转义字符和引号的

第二个是把他给显示出来,一 ...

也就是说打印是类似\n这样的指令才有效?还是说是因为第二个没有括号所以\n未生效?

asky533 发表于 2022-8-19 21:00:18

本帖最后由 asky533 于 2022-8-19 21:02 编辑

因为在交互模式中,直接写出,他就会把东西一股脑地进行简单计算后推出来,认不出转义字符,但是要是用print()这个函数打印出来的话,他就会去分析里面的转义字符串并且认出\n转行了。

元豪 发表于 2022-8-24 08:00:34

前者为打印
后者为显示
如果是
>>> x = "hello\n" * 10
>>> print(x)
hello
hello
hello
hello
hello
hello
hello
hello
hello
hello

>>>
就行了
页: [1]
查看完整版本: 为什么print('hello\n'*10)和'hello\n'*10结果不一样?