当前位置:首页 > Python > 正文

Python输入输出与格式化字符串方法详解 - 一看就懂的教程

Python输入输出与格式化字符串方法详解

掌握Python基础操作:输入输出与字符串格式化

为什么需要掌握输入输出和字符串格式化?

在Python编程中,输入输出操作是与用户交互的基础,而字符串格式化则是呈现数据的核心技能。无论是开发命令行工具、Web应用还是数据分析脚本,这些技能都至关重要。

本教程将深入浅出地讲解:

  • 使用input()获取用户输入
  • 使用print()输出内容
  • 多种字符串格式化方法
  • 实际应用案例

Python输入操作:input()函数

Python使用input()函数获取用户输入,它会将输入内容作为字符串返回。

基础用法示例

# 获取用户输入
name = input("请输入您的姓名: ")

# 输出结果
print(f"您好, {name}! 欢迎使用Python。")

输入转换技巧

由于input()返回字符串,常需要转换为其他类型:

# 转换为整数
age = int(input("请输入您的年龄: "))

# 转换为浮点数
height = float(input("请输入您的身高(米): "))

# 转换为布尔值
is_student = input("您是学生吗? (yes/no): ").lower() == 'yes'

Python输出操作:print()函数

print()是Python中最基本的输出函数,功能强大且灵活。

基础输出方法

# 输出字符串
print("Hello, Python!")

# 输出多个值
name = "Alice"
age = 25
print("姓名:", name, "年龄:", age)

# 输出到文件
with open("output.txt", "w") as f:
    print("保存到文件的内容", file=f)

高级输出控制

# 控制分隔符
print("2023", "10", "15", sep="-")  # 输出: 2023-10-15

# 控制结束符
print("Loading", end=" ")
print("...", end="")
print(" Done!")  # 输出: Loading ... Done!

# 格式化输出
pi = 3.1415926
print("PI的值是: {:.2f}".format(pi))  # 输出: PI的值是: 3.14

Python字符串格式化方法

Python提供多种字符串格式化方法,各有优势,适用于不同场景。

1. % 格式化 (传统方法)

name = "Tom"
age = 30
score = 85.5

# 基本用法
print("姓名: %s, 年龄: %d, 分数: %.1f" % (name, age, score))

# 字典形式
data = {"name": "Tom", "age": 30}
print("姓名: %(name)s, 年龄: %(age)d" % data)

格式符号: %s(字符串), %d(整数), %f(浮点数)

2. str.format() 方法 (Python 2.6+)

# 位置参数
print("{}的{}成绩是{}分".format("小明", "数学", 95))

# 索引参数
print("{1}的{0}成绩是{2}分".format("数学", "小明", 95))

# 命名参数
print("{name}的{subject}成绩是{score}分".format(name="小红", subject="英语", score=92))

# 数字格式化
balance = 12345.6789
print("账户余额: {:,.2f}元".format(balance))  # 输出: 账户余额: 12,345.68元

3. f-string (Python 3.6+)

最现代、简洁的格式化方法,推荐使用!

name = "李华"
age = 28
height = 1.75

# 基础用法
print(f"姓名: {name}, 年龄: {age}, 身高: {height:.2f}米")

# 表达式计算
a = 5
b = 10
print(f"{a} + {b} = {a + b}")

# 函数调用
def get_grade(score):
    return "A" if score >= 90 else "B"
    
score = 92
print(f"成绩: {score}, 等级: {get_grade(score)}")

# 多行f-string
message = (
    f"个人信息:\n"
    f"  姓名: {name}\n"
    f"  年龄: {age}\n"
    f"  身高: {height:.2f}米"
)
print(message)
方法 Python版本 优点 缺点
% 格式化 所有版本 简单,兼容性好 功能有限,可读性差
str.format() ≥2.6 功能强大,灵活 语法较冗长
f-string ≥3.6 简洁高效,可读性好 旧版本不支持

综合应用实例

结合输入输出和格式化字符串,创建一个简单的用户注册程序:

# 用户注册程序
print("=== 用户注册 ===")
username = input("请输入用户名: ")
password = input("请输入密码: ")
email = input("请输入邮箱: ")
age = int(input("请输入年龄: "))

# 使用f-string格式化输出
print("\n注册信息摘要:")
print(f"用户名: {username}")
print(f"密码: {'*' * len(password)}")
print(f"邮箱: {email}")
print(f"年龄: {age}")

# 使用str.format()创建详细报告
report = (
    "\n详细注册报告:\n"
    "用户名: {user}\n"
    "密码长度: {pwd_len}位\n"
    "邮箱: {email}\n"
    "年龄: {age}"
).format(user=username, pwd_len=len(password), email=email, age=age)

print(report)

学习建议与总结

🎯 关键要点:

  • 使用input()获取用户输入,注意类型转换
  • print()支持多种输出控制和格式化选项
  • f-string是Python 3.6+推荐的字符串格式化方法
  • 根据项目需求选择最合适的格式化方法

💡 学习建议:

  • 多练习不同类型数据的格式化输出
  • 尝试在项目中使用f-string提高代码可读性
  • 注意旧版本Python的兼容性问题
  • 探索更多高级格式化选项(如对齐、填充等)

实践是最好的老师! 立即创建一个Python脚本,结合输入输出和字符串格式化,实现一个简单的个人信息收集和展示程序。

发表评论