引言
在 Python 编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨 Python 的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。
Python 中的输入输出操作及格式化方法。内容包括使用 input() 获取用户输入并进行类型转换与异常处理,以及 print() 函数的多种输出方式(% 格式化、str.format()、f-string)。通过购物结算案例展示了综合应用,帮助读者提升代码可读性与交互体验。

在 Python 编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨 Python 的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。
Python 提供了简单而强大的输入功能,通过内置函数 input() 可以从用户那里获取字符串形式的输入。以下是一些基本用法和注意事项:
name = input("请输入你的名字:")
print(f"你好,{name}!")
input() 返回的值始终是字符串类型。如果需要整数、浮点数或其他类型,必须显式转换:
age = int(input("请输入你的年龄:"))
height = float(input("请输入你的身高 (米): "))
print(f"你今年 {age} 岁,身高 {height:.2f} 米。")
在用户输入数据时,经常可能发生错误输入。因此,我们可以使用 try...except 来捕获异常:
try:
age = int(input("请输入你的年龄:"))
print(f"你的年龄是 {age}")
except ValueError:
print("输入的不是有效的整数!")
对于复杂的输入场景,可以将字符串解析为列表、字典或其他类型。例如:
# 将逗号分隔的字符串转换为列表
numbers = input("请输入一组数字,用逗号分隔:").split(",")
numbers = [int(num) for num in numbers]
print(f"你输入的数字是:{numbers}")
# 将 JSON 格式字符串转换为字典
import json
data = input("请输入 JSON 格式的数据:")
data_dict = json.loads(data)
print(f"解析后的数据:{data_dict}")
Python 提供了多种方法进行输出,最常用的是 print() 函数。下面详细介绍输出的格式化方法。
print() 函数可以直接输出字符串、变量、表达式等:
x = 10
y = 20
print("x + y =", x + y)
格式化输出是 Python 中非常强大的功能,可以通过多种方法实现。
这是 Python 中较早的一种格式化方法,类似于 C 语言中的 printf:
name = "Alice"
age = 25
print("%s 的年龄是 %d 岁。" % (name, age))
这种方法更加灵活,支持按位置或按名称插入变量:
# 按位置
print("{0} 的年龄是 {1} 岁。".format(name, age))
# 按名称
print("{name} 的年龄是 {age} 岁。".format(name="Bob", age=30))
# 格式化浮点数
pi = 3.14159
print("圆周率是 {0:.2f}".format(pi))
从 Python 3.6 开始,f-string 提供了更简洁、更直观的格式化方法:
name = "Charlie"
age = 28
print(f"{name} 的年龄是 {age} 岁。")
# 支持表达式
x = 5
y = 3
print(f"{x} + {y} = {x + y}")
# 浮点数格式化
print(f"圆周率是 {pi:.2f}")
使用三引号字符串 (''' 或 """) 可以轻松实现多行输出:
print("""这是多行输出:
第一行
第二行
第三行
""")
print("Python\n编程\t语言")
下面是一个结合输入、输出和格式化的案例:
编写一个简单的购物结算程序,用户输入商品名称、单价和数量,程序计算总价并输出格式化账单。
print("欢迎使用购物结算程序")
try:
product = input("请输入商品名称:")
price = float(input("请输入商品单价:"))
quantity = int(input("请输入购买数量:"))
total = price * quantity
print("\n结算账单:")
print(f"商品名称:{product}")
print(f"商品单价:{price:.2f} 元")
print(f"购买数量:{quantity}")
print(f"总价:{total:.2f} 元")
except ValueError:
print("输入的数据格式有误,请重试!")
欢迎使用购物结算程序
请输入商品名称:苹果
请输入商品单价:3.5
请输入购买数量:4
结算账单:
商品名称:苹果
商品单价:3.50 元
购买数量:4
总价:14.00 元
通过对输入和输出的深入理解与实践,Python 程序员可以更好地与用户交互,并以优雅的方式展示结果。无论是简单的 print(),还是复杂的格式化输出,掌握这些技巧对于编写高质量代码至关重要。在实际开发中,根据具体需求选择适合的格式化方法,可以大大提高程序的可读性和用户体验。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online