5个让你惊艳的Python冷门技巧,工作效率翻倍
Python 以简洁著称,但有些隐藏技巧连老手都未必知道。今天分享几个真正能提升代码质量的骚操作。
1. 用 else 配合循环,告别标志变量
很多人不知道 for 和 while 可以跟 else。只有当循环没有被 break 中断时,else 才会执行。
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
break
else:
print(f"{n} 是质数")
2. 下划线 _ 的妙用
在 REPL 中,_ 保存上一次输出的结果。此外,大数字可以用下划线分隔:
million = 1_000_000 # 一目了然
3. 海象运算符 :=(Python 3.8+)
在表达式中同时赋值并返回值,避免重复计算:
# 传统写法
data = get_data()
if data:
process(data)
# 海象写法
if (data := get_data()):
process(data)
4. 用 zip 同时遍历两个列表,用 * 解压
names = ["alice", "bob"]
scores = [95, 87]
for name, score in zip(names, scores):
print(f"{name}: {score}")
# 反转回两个列表
names2, scores2 = zip(*zipped)
5. 使用 functools.lru_cache 给函数加缓存
递归或重复计算时,一行代码就能大幅提速:
from functools import lru_cache
@lru_cache(maxsize=128)
def fib(n):
return n if n < 2 else fib(n-1) + fib(n-2)
这些技巧并非炫技,而是能切实简化逻辑、提升可读性。下次写代码时试着用上它们,你会爱上 Python 的优雅。
—— 让你的代码更 Pythonic