写代码就像写文章—— 能跑通只是及格,让人看懂才是高分 。
想象一下:三个月后你自己回来看代码,却一脸懵逼...这种痛,懂的都懂😭
今天分享的12个技巧,都是大厂工程师每天都在用的 真·干货 。建议 收藏+转发 ,下次写代码直接抄作业!

# 不好的做法x = 25# 这是什么?# 好的做法user_age = 25# 清晰明了# 传统方式squares = []for x in range(10): squares.append(x ** 2)# 列表推导式squares = [x ** 2for x in range(10)]# 不好的做法file = open('data.txt', 'r')content = file.read()file.close() # 可能忘记关闭# 好的做法with open('data.txt', 'r') as file: content = file.read()# 文件自动关闭# 嵌套过深defprocess_user(user):if user:if user.is_active:if user.has_permission:return do_something()else:return"无权限"else:return"用户未激活"else:return"无用户"# 使用提前返回defprocess_user(user):ifnot user:return"无用户"ifnot user.is_active:return"用户未激活"ifnot user.has_permission:return"无权限"return do_something()defgreet(name: str, age: int) -> str:returnf"Hello {name}, you are {age} years old"# 元组解包coordinates = (10, 20)x, y = coordinates# 枚举解包for index, value in enumerate(['a', 'b', 'c']): print(f"{index}: {value}")# Zip 解包names = ['Alice', 'Bob']scores = [85, 90]for name, score in zip(names, scores): print(f"{name}: {score}")# 列表推导式(占用内存)squares = [x ** 2for x in range(1000000)]# 生成器表达式(惰性求值)squares = (x ** 2for x in range(1000000))numbers = [1, 2, 3, 4, 5, 6]# 检查是否全部为偶数if all(x % 2 == 0for x in numbers): print("全是偶数")# 检查是否有任意一个大于 10if any(x > 10for x in numbers): print("有大于10的数")# 不好的做法if x > 5and x < 15: print("在范围内")# 好的做法if5 < x < 15: print("在范围内")# 传统方式squares_dict = {}for x in range(5): squares_dict[x] = x ** 2# 字典推导式squares_dict = {x: x ** 2for x in range(5)}name = "Alice"age = 30# 不好的做法print("Name: %s, Age: %d" % (name, age)) # 旧式print("Name: {}, Age: {}".format(name, age)) # format 方法# 好的做法print(f"Name: {name}, Age: {age}") # f-stringdefcalculate_discount(price: float, percentage: float) -> float:""" 计算折扣后的价格。 Args: price: 原始价格 percentage: 折扣百分比 (0-100) Returns: 折扣后的价格 Raises: ValueError: 如果价格为负数或百分比不在有效范围内 """if price < 0:raise ValueError("价格不能为负数")ifnot0 <= percentage <= 100:raise ValueError("百分比必须在 0-100 之间")return price * (1 - percentage / 100)