Python进阶:5个让代码更优雅的实用技巧
Python 以其简洁和可读性著称,但掌握一些“隐藏”技巧能让你的代码更高效、更 Pythonic。以下是 5 个日常开发中非常实用的技巧。
1. 用 enumerate 替代 range(len)
当需要同时获取索引和元素时,不要这样写:
for i in range(len(items)):
print(i, items[i])
改用 enumerate:
for i, item in enumerate(items):
print(i, item)
更简洁,且可直接获取元素。
2. 列表推导式与生成器表达式
创建新列表时,列表推导式比显式循环更清晰:
squares = [x**2 for x in range(10)]
如果数据量大,用生成器表达式节省内存:
sum(x**2 for x in range(10**6)) # 惰性求值
3. with 自动管理资源
文件、网络连接等资源务必使用上下文管理器,避免忘记关闭:
with open('file.txt', 'r') as f:
content = f.read()
# 退出 with 块时自动关闭文件
自定义对象也可实现 __enter__ 和 __exit__ 来支持 with。
4. zip 并行迭代
同时遍历多个可迭代对象:
names = ['Alice', 'Bob']
scores = [95, 87]
for name, score in zip(names, scores):
print(f'{name}: {score}')
zip 在最短序列结束时停止,若需补全可使用 itertools.zip_longest。
5. f-string 格式化字符串
Python 3.6+ 的 f-string 让字符串插值更直观:
name = 'World'
print(f'Hello, {name.upper()}!') # 可执行表达式
还支持数字格式化、对齐等,是当前最推荐的字符串格式化方式。
以上技巧虽小,但能在日常开发中显著提升代码的可读性和健壮性。写出 Pythonic 的代码,从这些小细节开始。