Python代码规范故事——商人的账本管理术

Python代码规范故事——商人的账本管理术

在这里插入图片描述

主题:字符串和资源如同商人的库存管理。
知识点:字符串格式、文件处理、日志、错误消息。
场景:繁忙的市场,商人李四管理Python账本脚本,字符串操作和未关闭文件导致问题。

故事
李四的账本脚本效率低下,字符串拼接缓慢,未关闭文件耗尽资源。她请教一位智者,学习字符串格式化。“用f字符串清晰简洁,”智者说:

name = "李四"
score = 42
entry = f"商人: {name}; 分数: {score}"

对于旧代码,%或.format()可接受,但循环中禁用+拼接—like堆积低效的货物。李四学会用join:

entries = ["<table>"]
for item in inventory:
    entries.append(f"<tr><td>{item}</td></tr>")
entries.append("</table>")
ledger = "".join(entries)

对于引号,李四统一用单引号(')或双引号(“),文档字符串和多行字符串用三重双引号(”“”)。为避免缩进问题,她用textwrap.dedent():

import textwrap
message = textwrap.dedent("""\
    亲爱的客户,
    您的订单已准备好。
""")
print(message)

智者接着教导文件处理。“用with显式关闭文件,”他说,防止资源泄漏:

with open("ledger.txt") as file:
    for line in file:
        print(line)

对于非文件资源如套接字,李四用contextlib.closing()。这确保市场资源充足。

最后,李四学习日志记录。“日志消息用%,不要f字符串,”智者建议,便于查询:

import logging
logging.info("订单 %s 已为 %s 处理", order_id, customer)

对于错误消息,李四确保精准清晰:

if not 0 <= price <= 100:
    raise ValueError(f"无效价格: {price!r}")

故事结尾,李四的账本高效,字符串整洁,资源安全,日志清晰,市场声誉大增。

涵盖知识点

  • 字符串格式(f字符串、%、.format;循环禁用+,用join)。
  • 引号(统一单/双引号,三重"""用于文档/多行)。
  • 文件处理(with语句,非文件用contextlib.closing)。
  • 日志(消息用%,非f字符串)。
  • 错误消息(精准、清晰、易grep)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值