Python的输入输出技巧:print原来还能这么用?
作者:FeiLink
标签:#Python基础 #输入输出 #print技巧 #文件操作 #实战案例
🌟 引言
在 Python 编程中,输入输出(I/O)是最基础且最频繁使用的功能。print()
函数作为最常见的输出方式,远不止简单打印文本那么简单。掌握它的高级用法,可以让调试更高效,输出更美观。
此外,文件读写和标准输入也同样重要,本文将带你全面掌握 Python 输入输出技巧,配合实战示例和调试方法,让你的代码与数据交互更加得心应手。
目录
- 基础的 print 用法
- print 的高级参数解析
- 格式化输出:f-string 与 format 方法
- 标准输入 input() 用法
- 文件读写基础
- 实战案例:成绩录入与保存
- 常见错误与调试技巧
- 面试题精选
1. 基础的 print 用法
print("Hello, Python!")
print(100)
print("多个参数", 1, 2, 3)
print()
可接受多个参数,默认用空格分隔打印
2. print 的高级参数解析
- sep:参数间的分隔符(默认空格)
print("A", "B", "C", sep="-") # 输出:A-B-C
- end:结尾符(默认换行)
print("Hello", end=" ")
print("World") # 输出:Hello World
- file:输出目标,默认标准输出
with open("log.txt", "w") as f:
print("日志内容", file=f)
- flush:是否立即刷新缓冲区,适合实时输出
import time
for i in range(3):
print(i, end=" ", flush=True)
time.sleep(1)
3. 格式化输出:f-string 与 format 方法
3.1 f-string(Python 3.6+ 推荐)
name = "FeiLink"
age = 25
print(f"姓名:{name}, 年龄:{age}")
3.2 format 方法
print("姓名:{}, 年龄:{}".format(name, age))
print("成绩:{score:.2f}".format(score=89.1234)) # 保留两位小数
4. 标准输入 input() 用法
- 从键盘读取字符串
user_input = input("请输入你的名字:")
print(f"你好,{user_input}!")
- 转换输入类型
age_str = input("请输入年龄:")
age = int(age_str) # 注意转换异常
5. 文件读写基础
5.1 写入文件
with open("data.txt", "w", encoding="utf-8") as f:
f.write("这是第一行内容\n")
f.write("这是第二行内容\n")
5.2 读取文件
with open("data.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
6. 🧪 实战案例:成绩录入与保存
def save_scores(filename):
scores = {}
while True:
name = input("请输入学生姓名(回车结束):")
if not name:
break
try:
score = float(input(f"请输入{name}的成绩:"))
except ValueError:
print("成绩必须是数字,请重新输入。")
continue
scores[name] = score
with open(filename, "w", encoding="utf-8") as f:
for student, score in scores.items():
f.write(f"{student},{score}\n")
print("成绩保存完毕!")
def load_scores(filename):
print("读取成绩:")
with open(filename, "r", encoding="utf-8") as f:
for line in f:
student, score = line.strip().split(",")
print(f"{student} 的成绩是 {score}")
# 使用示例
filename = "scores.csv"
save_scores(filename)
load_scores(filename)
7. ❌ 常见错误与调试技巧
错误示例1:input 输入未转换类型
age = input("请输入年龄:")
print(age + 10) # TypeError: can't concatenate str and int
调试方法:转换类型或检查输入
age = int(input("请输入年龄:"))
print(age + 10)
错误示例2:文件未关闭导致数据丢失
f = open("data.txt", "w")
f.write("内容")
# 忘记关闭文件
调试方法:使用 with
语句自动管理文件打开关闭
8. 面试题精选
- 如何用 Python 实现格式化输出?
- input() 读取的是什么类型?如何转换?
- 如何向文件写入多行内容?
- 解释 print() 函数的 sep 和 end 参数作用。
- 怎样避免文件读写时出现编码问题?
📌 总结
- 掌握 print 的高级用法,提升输出控制能力
- input() 是标准输入,读取字符串,需手动类型转换
- 使用 with 语句安全高效地进行文件读写
- 通过实战项目加深理解,防止常见错误
- 养成良好调试习惯,快速定位问题
AI 创作声明
本文部分内容由 AI 辅助生成,并经人工整理与验证,仅供参考学习,欢迎指出错误与不足之处。