Python 技巧让你的代码更Pythonic
Python 以其简洁优雅著称,但想写出真正的 Pythonic 代码,还需要掌握一些实用技巧。今天分享几个我日常高频使用的小技巧,希望能帮你提升代码质量。
1. 列表推导式代替循环
生成新列表时,列表推导式比 for 循环更简洁。
# 不推荐
squares = []
for i in range(10):
squares.append(i**2)
# 推荐
squares = [i**2 for i in range(10)]
加上条件也很清晰:[i**2 for i in range(10) if i % 2 == 0]
2. 用 enumerate 获取索引
遍历列表同时需要索引时,别用 range(len()),用 enumerate。
# 不推荐
for i in range(len(fruits)):
print(i, fruits[i])
# 推荐
for i, fruit in enumerate(fruits):
print(i, fruit)
还能指定起始序号:enumerate(fruits, start=1)
3. zip 同步遍历多个列表
同时遍历两个或更多列表时,zip 是你的好帮手。
names = ['Alice', 'Bob', 'Charlie']
scores = [85, 92, 78]
for name, score in zip(names, scores):
print(f'{name}: {score}')
4. 使用 with 管理资源
处理文件或网络连接时,用 with 语句确保资源正确释放。
# 不推荐
f = open('file.txt', 'r')
data = f.read()
f.close()
# 推荐
with open('file.txt', 'r') as f:
data = f.read()
5. 字典的 get 方法避免 KeyError
从字典取值时,用 get 可以指定默认值,避免异常。
# 不推荐
if key in d:
value = d[key]
else:
value = 0
# 推荐
value = d.get(key, 0)
这些小技巧能让你的代码更简洁、更易读,也更 Pythonic。试着在日常编码中用起来吧!