roche_ 发表于 2022-3-14 16:54:17

为什么print出来的内容会有多的空格?

第002讲里的作业:

我写的代码内容是:
name = input ("请输入你的姓名:")
print("你好,",name,"!")
输出来的内容总是:你好, 姓名 !
在“,”和“姓名”后面总是有一个空格。

我看了答案,答案给的代码内容是:
name = input ("请输入你的姓名:")
print("你好,"+ name +"!")
输出来的内容就没有空格。

所以,为什么我输入的那个代码会有多余的空格?是怎样造成的?谢谢!

isdkz 发表于 2022-3-14 17:02:18

本帖最后由 isdkz 于 2022-3-14 17:04 编辑

Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

从 print 的帮助文档可以看出,print 有个关键字参数 sep ,

作为 print 函数的多个形参之间的间隔,

而这个 sep 参数的默认值为空格。

你把 sep 参数的值改成空字符串就不会有空格了:
name = input ("请输入你的姓名:")
print("你好,",name,"!", sep='')

roche_ 发表于 2022-3-14 17:24:00

isdkz 发表于 2022-3-14 17:02
从 print 的帮助文档可以看出,print 有个关键字参数 sep ,

作为 print 函数的多个形参之间的间隔 ...

谢谢!!!
页: [1]
查看完整版本: 为什么print出来的内容会有多的空格?