Python的输入输出技巧:print原来还能这么用?

Python的输入输出技巧:print原来还能这么用?

作者:FeiLink
标签:#Python基础 #输入输出 #print技巧 #文件操作 #实战案例


🌟 引言

在 Python 编程中,输入输出(I/O)是最基础且最频繁使用的功能。print() 函数作为最常见的输出方式,远不止简单打印文本那么简单。掌握它的高级用法,可以让调试更高效,输出更美观。

此外,文件读写和标准输入也同样重要,本文将带你全面掌握 Python 输入输出技巧,配合实战示例和调试方法,让你的代码与数据交互更加得心应手。


目录

  1. 基础的 print 用法
  2. print 的高级参数解析
  3. 格式化输出:f-string 与 format 方法
  4. 标准输入 input() 用法
  5. 文件读写基础
  6. 实战案例:成绩录入与保存
  7. 常见错误与调试技巧
  8. 面试题精选

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 辅助生成,并经人工整理与验证,仅供参考学习,欢迎指出错误与不足之处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值