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

Python的格式化输入输出

# Python 的格式化输出和格式化输入## 格式化输出Python 提供了多种字符串格式化的方法:### 1. % 格式化(旧式格式化)```python
name = "Alice"
age = 25
print("Name: %s, Age: %d" % (name, age))
# 输出: Name: Alice, Age: 25

常用格式说明符

  • %s - 字符串
  • %d - 十进制整数
  • %f - 浮点数
  • %x - 十六进制整数

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

print("Name: {}, Age: {}".format(name, age))
print("Name: {0}, Age: {1}".format(name, age))  # 使用位置索引
print("Name: {n}, Age: {a}".format(n=name, a=age))  # 使用关键字参数

格式控制

pi = 3.1415926
print("Pi: {:.2f}".format(pi))  # 保留两位小数
# 输出: Pi: 3.14

3. f-strings(Python 3.6+)

print(f"Name: {name}, Age: {age}")
print(f"Next year you'll be {age + 1} years old")

格式控制

pi = 3.1415926
print(f"Pi: {pi:.2f}")  # 保留两位小数

格式化输入

Python 的格式化输入通常指从字符串中解析数据:

1. 字符串分割

data = "Alice,25,New York"
name, age, city = data.split(',')
age = int(age)  # 需要类型转换

2. 正则表达式

import redata = "Name: Alice, Age: 25, City: New York"
match = re.search(r"Name: (\w+), Age: (\d+), City: (.+)", data)
if match:name, age, city = match.groups()age = int(age)

3. 使用 eval()(⚠️ 不推荐,有安全风险)

data = "{'name': 'Alice', 'age': 25, 'city': 'New York'}"
info = eval(data)  # 将字符串转换为字典

4. 使用 json 模块(✅ 推荐)

import jsondata = '{"name": "Alice", "age": 25, "city": "New York"}'
info = json.loads(data)  # 将JSON字符串转换为字典

5. 从标准输入读取并格式化

# 读取一行输入并分割
user_input = input("Enter name,age,city: ").split(',')
name, age, city = user_input
age = int(age)# 使用格式字符串提示
print(f"Hello {name}, you are {age} years old from {city}")

最佳实践建议

  1. 输出:Python 3.6+ 环境下优先使用 f-strings
  2. 输入:结构化数据优先使用 json 模块
  3. 安全性:避免使用 eval() 处理用户输入
  4. 类型转换:注意字符串到数字的类型转换

相关文章:

  • C盘瘦身?
  • 轻量级顺序监控器监控 LLM 中的分解攻击
  • 最新四六级写作好词好句锦囊(持续更新中)
  • 亚马逊店铺注册:2025亚马逊注册店铺最新教程
  • 3.图数据Neo4j - CQL的使用
  • Tensorflow安装出现dependency conflict错误
  • 山东大学软件学院项目实训:基于大模型的模拟面试系统项目总结(八)
  • 分布假设学习笔记
  • JsonTypeHandler解析数据库json类型字段
  • QWebEngine
  • LVGL学习笔记-----标签控件(lv_label)
  • 【学习笔记】重载和重写的注意事项
  • 前端历练(一)Tailwind 配置
  • MCP(Model Context Protocol,模型上下文协议)的当前状态
  • 《棒垒球百科》棒球、垒球奥运会运动员规定·棒球1号位
  • kafka Tool (Offset Explorer)使用SASL Plaintext进行身份验证
  • Reels流量密码:Ins 2025算法偏好的7个隐形规则
  • 自动化模型管理:MediaPipe Android SDK 中的模型文件下载与加载机制
  • 中小企业数字化转型:如何选择靠谱的软件开发服务商?
  • 详解Python当中的pip常用命令
  • 农业网站电子商务平台建设方案/百度关键字优化
  • 做网站要提供营业执照吗/中南建设集团有限公司
  • 做网站的 深圳/新网站排名优化怎么做
  • 深圳做生鲜食材的网站叫什么/自己有网站怎么推广
  • 网址提交大全/百度搜索优化怎么做
  • wap手机网站开发asp经验/友情链接发布