方大侠 发表于 2020-8-11 00:07:04

为啥print()是下一行,print('\n')是下两行

print('\n')相当于下两行,啊这。。。太不符合逻辑了
python为啥这样设置???

Twilight6 发表于 2020-8-11 00:07:05



Python 中 print 函数有个默认参数 end = '\n' ,是当你的print 函数中的内容全部打印结束后自动追加打印 end 参数的值

所以 print 函数就算你字符串没加上 \n 也可以自动换行,当然,我们如果不想让 print 函数自动换行,我们就可以直接重新给 end 参数赋值为其他字符

那么 print 函数中内容打印结束后追加打印你人为设置的 end 参数的值

综上所述 print('\n') 实际上是先打印 print 函数括号里你的字符串 '\n' ,恰好是换行符,所以此时打印一行,打印结束后 print 函数追加打印 一个 end 参数,也是 \n 所以会打印两行

关于为什么这么设置,主要是为了便利吧,不用你每次人为加个\n 字符才能换行

zltzlt 发表于 2020-8-11 09:18:54

本帖最后由 zltzlt 于 2020-8-11 09:21 编辑

https://fishc.com.cn/thread-159045-1-1.html

print 有个 end 参数,它的作用是打印完所有内容后再追加打印 end 参数的内容。

end 参数默认为 '\n',表示打印完所有内容后再打印一个换行符。

print() 相当于 print(''),这里打印完空字符串 '' 再打印 end 参数 '\n',自然就是换一行了。

print('\n') 是先打印 '\n' 再打印 end 参数 '\n',所以是换两行。

当然你也可以设置 print() 的 end 参数为 '',表示不自动在末尾追加换行。例如 print('\n', end='') 就是换一行了。

这么做主要是为了方便,不用你手动加上 \n 才能换行,因为通常打印完一个字符串后都要换行,看起来美观。

Wei_Jian_Xian 发表于 2020-8-12 14:32:00

如果 print('\n')是下一行的话不符合程序的严谨性啊
页: [1]
查看完整版本: 为啥print()是下一行,print('\n')是下两行