Python 小技巧:5 个让代码更简洁的实用写法
【摘要】 写 Python 久了会发现,这门语言藏了不少实用的「语法糖」。用好了,代码能短一半,可读性还更高。今天分享 5 个我日常高频使用的小技巧,全部原创整理,适合有一定基础的读者。 1. 用 enumerate 代替 range(len(…))遍历列表时既要下标又要元素,很多人习惯写 for i in range(len(items)),其实 enumerate 更直接:fruits = ["苹...
写 Python 久了会发现,这门语言藏了不少实用的「语法糖」。用好了,代码能短一半,可读性还更高。今天分享 5 个我日常高频使用的小技巧,全部原创整理,适合有一定基础的读者。
1. 用 enumerate 代替 range(len(…))
遍历列表时既要下标又要元素,很多人习惯写 for i in range(len(items)),其实 enumerate 更直接:
fruits = ["苹果", "香蕉", "橙子"]
for i, name in enumerate(fruits, start=1):
print(i, name)
start=1 让序号从 1 开始,省去 i + 1 的心智负担。
2. 字典取值用 get,告别 KeyError
从字典里取可能不存在的键,直接 d["key"] 会抛异常。用 get 可以给默认值:
config = {"host": "localhost"}
port = config.get("port", 8080) # 不存在就返回 8080
需要计数时配合 get 更顺手:count[word] = count.get(word, 0) + 1。
3. 列表推导式,一行顶三行
带条件的循环赋值写成推导式,代码立刻清爽:
nums = [1, 2, 3, 4, 5, 6]
evens = [n * n for n in nums if n % 2 == 0]
提醒一句:嵌套别超过两层,否则可读性反而下降,得不偿失。
4. f-string 格式化,告别拼接噩梦
字符串拼接用 + 又长又容易漏空格,f-string 一步到位:
name, score = "小明", 95
print(f"{name} 本次得分 {score},{'优秀' if score >= 90 else '继续努力'}")
条件表达式可以直接写进花括号里,非常方便。
5. with 语句管理资源,不再忘记 close
读写文件这类「用完要释放」的资源,交给 with 最省心:
with open("data.txt", encoding="utf-8") as f:
lines = f.readlines()
离开代码块自动关闭,即使中途抛异常也不会漏掉。
结语
这 5 个技巧都不难,关键是形成肌肉记忆:遍历用 enumerate、取字典用 get、过滤用推导式、拼字符串用 f-string、管资源用 with。坚持用上一个月,回头再看自己以前的代码,你会发现处处都能优化——这就是进步的感觉。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)