此处的 7 表示字符数,runoob 有 6 个字符,\n 表示一个字符,加起来 7 个字符
没问题!去掉表格,用更直观的列表对比法,记笔记更轻松 👇
二、vs print() —— 关键区别
-
换行行为
print():默认自动换行(末尾加\n)。sys.stdout.write():绝不自动换行。想换行必须手动在字符串里写\n,否则下一次输出会紧挨着当前内容。
-
参数与类型
print():能接收多个参数(如print(a, b, c)),且会自动把非字符串类型(数字、列表等)转成字符串。sys.stdout.write():只能接收一个参数,且必须是字符串。传数字或列表会直接报错TypeError。
-
返回值
print():返回None(纯输出,无反馈)。sys.stdout.write():返回成功写入的字符数(整数)。可用于校验输出是否完整。
-
性能与底层
print():是高级封装函数,内部做了格式化、类型转换、换行处理,有额外开销。sys.stdout.write():是直接操作标准输出流的底层方法,无多余处理,在高频/大量输出时性能更好。
💡 一句话总结选择建议
- 日常开发、调试、普通输出 → 用
print()(方便、安全、不易错)。- 需要精确控制输出格式、高性能批量写入、或实现自定义输出逻辑 → 用
sys.stdout.write()。