当前位置:首页>python>《Python小技巧&易错点100例》第三篇

《Python小技巧&易错点100例》第三篇

  • 2026-10-12 20:49:10
《Python小技巧&易错点100例》第三篇

本期分享:

9. 字符串拼接优先使用 join 或 f-string

10. len() 统计的是字符数量不是字节数量

11. 浮点数计算存在精度问题

12. 真值判断要理解空值规则

Python 在字符串处理、数字计算和真值判断上都很顺手,但越是常用的地方越容易形成“想当然”的写法。本篇整理几个入门阶段高频遇到的小问题。

9. 字符串拼接优先使用 join 或 f-string

少量字符串拼接可以直接使用 f-string:

name = "Tom"age = 18message = f"{name} is {age} years old"print(message)

如果是在循环中拼接大量字符串,不建议反复使用 +=:

result = ""for word in ["Python", "AI", "Tips"]:    result += word + ","

推荐先收集到列表,再使用 join:

words = ["Python", "AI", "Tips"]result = ",".join(words)print(result)

在生成 Prompt、日志、批量文本时,这个习惯很有用。

10. len() 统计的是字符数量不是字节数量

Python 3 的字符串是 Unicode 字符串。

text = "你好Python"print(len(text))  # 8

如果你关心网络传输、文件大小、接口限制,就要先编码成字节:

data = text.encode("utf-8")print(len(data))

这在处理中文 Prompt、模型 Token 估算、接口请求大小时很容易遇到。

11. 浮点数计算存在精度问题

很多语言都有浮点数精度问题,Python 也一样。

print(0.1 + 0.2)  # 0.30000000000000004

普通展示可以使用格式化:

value = 0.1 + 0.2print(f"{value:.2f}")

如果是金额、精确小数计算,使用 Decimal:

from decimal import Decimalprice = Decimal("0.1") + Decimal("0.2")print(price)  # 0.3

注意 Decimal("0.1") 比 Decimal(0.1) 更合适,因为后者会先得到一个不精确的 float。

12. 真值判断要理解空值规则

Python 中很多对象都可以直接用于 if 判断。

values = []ifnot values:    print("empty")

常见假值包括:

  • None
  • False
  • 0
  • ""
  • []
  • {}
  • set()

但是要注意,不要把“空”和“合法的 0 值”混在一起:

count = 0ifnot count:    print("count is empty or zero")

如果业务上 0 是有效值,就应该写得更明确:

if count isNone:    print("count is missing")

本篇结束~

欢迎关注我~

最新文章

随机文章