内马尔11 发表于 2020-7-28 17:17:26

python的end='' ''问题

end='' ''什么意思?有什么用?视屏里没有讲到。请大佬们告诉我一下,谢谢!

zltzlt 发表于 2020-7-28 17:18:09

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

Twilight6 发表于 2020-7-28 17:20:43

本帖最后由 Twilight6 于 2020-7-28 17:44 编辑


print 的参数 end = '\n' 作用是在 print 内容全部打印完成后

自动追加打印一个 end 参数,这也是为什么 print 函数能够换行的作用+

而你这里的 end = " " 是我们人为重新给 print 参数赋值为一个空格

导致覆盖了原来的 print 参数的 end ='\n' 换行效果,而打印一个空格

同理如果你 end = "!!!",那么print 打印后追加打印的就是三个!!!


陈尚涵 发表于 2020-7-28 18:07:21

IDLE输入一下指令:
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> help(print)
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(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
   
    Prints the values to a stream, or to sys.stdout by default.
    这里是他的属性定义:
    file:表示在哪个文件写东西(默认值为None,就是不往文件里写东西).
    sep:   表示每一个逗号分隔的字符串里的分隔字符串(默认值为空格).
    end: 表示字符串末尾的字符串,默认一个换行符(所以每个print之间都会换一行。end=""的意思就是不换行). ## 重点!!!也是你问的问题
    flush: 是否马上把数据写到文件里,默认值False,就是不马上把数据写到文件里(这个属性基本没用).


再次强调重点:
end: 表示字符串末尾的字符串,默认一个换行符(所以每个print之间都会换一行。end=""的意思就是不换行). ## 重点!!!也是你问的问题

不懂再问,懂的话请设置最佳答案

陈尚涵 发表于 2020-7-28 18:08:32

抱歉,英语不是很好,翻译可能不是太准确{:10_266:}{:10_266:}

zltzlt 发表于 2020-7-28 18:40:17

陈尚涵 发表于 2020-7-28 18:07
IDLE输入一下指令:

这片英文想表达什么呢?我简单翻译一下:


file 的默认值为 None ???

陈尚涵 发表于 2020-7-28 18:42:24

zltzlt 发表于 2020-7-28 18:40
file 的默认值为 None ???

我也不知道file的默认值是什么{:10_250:}

zltzlt 发表于 2020-7-28 19:07:36

陈尚涵 发表于 2020-7-28 18:42
我也不知道file的默认值是什么

大哥你好好看看它的函数原型{:10_277:}
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

_2_ 发表于 2020-7-28 19:26:24

陈尚涵 发表于 2020-7-28 18:42
我也不知道file的默认值是什么

file 默认是 sys.stdout
用于将内容输出到标准流

Tip0 发表于 2020-7-28 19:29:43

本帖最后由 Tip0 于 2020-7-28 19:33 编辑

陈尚涵 发表于 2020-7-28 18:07
IDLE输入一下指令:

这片英文想表达什么呢?我简单翻译一下:


我觉得你的错误蛮多的

陈尚涵 发表于 2020-7-28 19:48:10

Tip0 发表于 2020-7-28 19:29
我觉得你的错误蛮多的

额,就是有点难理解好吧
页: [1]
查看完整版本: python的end='' ''问题