5个让Python代码更优雅的实用技巧
Python 以简洁著称,但写出真正“Pythonic”的代码仍需技巧。这里分享5个日常开发中能显著提升效率与可读性的小技巧。
1. 列表推导式代替循环
需要生成新列表时,避免用 for 循环手动 append:
# 不推荐
squares = []
for i in range(10):
squares.append(i**2)
# 推荐
squares = [i**2 for i in range(10)]
更简洁,且执行更快。
2. 使用 with 管理资源
文件操作、数据库连接等务必用上下文管理器,确保资源释放:
with open('data.txt', 'r') as f:
content = f.read()
# 无需显式 f.close()
3. 活用 zip 并行迭代
同时遍历多个可迭代对象,无需下标:
names = ['Alice', 'Bob']
scores = [95, 88]
for name, score in zip(names, scores):
print(f'{name}: {score}')
4. 字典的 get 与 setdefault
安全访问字典,避免 KeyError:
value = d.get('key', default_value) # 取值
d.setdefault('new_key', []).append(1) # 若不存在则设默认值
5. 装饰器分离横切关注点
用 @ 语法为函数添加日志、计时等通用逻辑:
import time
def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f'{func.__name__} took {time.time()-start:.2f}s')
return result
return wrapper
@timer
def slow_function():
time.sleep(1)
掌握这些技巧,代码将更加清晰、高效。Python 之禅说:“简单胜于复杂”,善用语言特性,让编程回归本质。