print()是Python 3.8内置函数,需加括号;支持sep、end控制分隔与结尾,file重定向输出,flush强制刷新缓冲区。

print() 函数的基本调用形式
Python 3.8 中 print() 是标准内置函数,不是语句,必须加括号。最简用法就是传入一个或多个对象,自动以空格分隔、换行结尾:
print("Hello", "World") # 输出:Hello World它会自动调用每个参数的 __str__() 方法转为字符串,再拼接输出。注意不能直接写 print "Hello"(那是 Python 2 的语法,3.8 会报 SyntaxError)。
控制分隔符与结尾符:sep 和 end 参数
默认用空格分隔、换行结尾,但可通过 sep 和 end 覆盖:
-
sep控制多个参数之间的连接符,例如sep=","或sep="" -
end控制末尾输出内容,默认是"\n";设为end=""可避免换行,实现连续打印 - 二者都必须是字符串,传入非字符串(如
None或数字)会触发TypeError
print("a", "b", "c", sep="|", end="!") # 输出:a|b|c!输出到文件或自定义流:file 参数
print() 默认输出到 sys.stdout,但可通过 file 参数重定向:
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它不是新的编程语言,而是一种使用现有标准的新方法,最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容,不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。《php中级教程之ajax技术》带你快速
立即学习“Python免费学习笔记(深入)”;
- 常见用途:写入文件、捕获测试输出、日志记录
- 目标对象必须有
write()方法且接受字符串(如打开的文件对象、io.StringIO) - 记得手动调用
.flush()或关闭文件,否则缓冲区内容可能不立即写出
with open("out.txt", "w") as f:
print("log entry", file=f)flush 参数的作用与典型误用场景
flush=True 强制刷新输出缓冲区,在交互式环境或重定向到管道/文件时防止延迟显示:
- 在循环中实时打印进度(如下载进度条)时,不加
flush=True可能卡住不输出 - 配合
end=""使用更常见,例如print(".", end="", flush=True) - 频繁设
flush=True会轻微降低 I/O 性能,仅在确实需要即时可见时启用
最容易被忽略的是:当 print() 输出目标不是终端(比如重定向到文件或子进程管道),即使没设 flush=True,部分情况下也未必缓存——但行为依赖底层系统和 Python 启动方式(如是否加了 -u 参数),所以关键路径上别赌默认行为。










