def get_user_level(score): if score >= 90: return "优秀" elif score >= 80: return "良好" elif score >= 60: return "及格" else: return "不及格"
功能没问题,但项目大了之后,满屏的 if-else 套娃让代码像意大利面一样纠缠不清。
用字典替代多层 if-else
def get_message(code): if code == 200: return "成功" elif code == 404: return "未找到" elif code == 500: return "服务器错误" else: return "未知错误"
改为:
MESSAGES = { 200: "成功", 404: "未找到", 500: "服务器错误",}def get_message(code): return MESSAGES.get(code, "未知错误")
用 dataclasses 告别样板代码
class User: def __init__(self, name, age, email): self.name = name self.age = age self.email = email def __repr__(self): return f"User(name={self.name}, age={self.age}, email={self.email})" def __eq__(self, other): return self.name == other.name and self.age == other.age
现在:
from dataclasses import dataclass@dataclassclass User: name: str age: int email: str# 自动生成 __init__、__repr__、__eq__ 等方法user = User("张三", 25, "zhangsan@example.com")
好处:一行装饰器省去几十行样板代码,支持类型提示,可读性极强。写在最后
Python 的优雅不在于写得多复杂,而在于用合适的工具做合适的事。
这 5 个技巧都不难,但很多人写了几年代码也没养成习惯。建议你挑一个最常用的,今天就在项目里试试。
你平时最常用的 Python 技巧是什么?