入门 Python 后,总觉得自己代码写得臃肿又笨拙?这 6 个进阶偏基础的知识点,全是日常开发高频用到的核心技巧,无冗余、纯干货,每个都带可直接运行的极简示例,吃透就能告别新手写法,代码简洁又高效!
1. 巧用 _ 忽略无用返回值
写代码时总会遇到函数 / 解包返回多个值,但我们只需要其中一部分的情况,用下划线 _ 接收无关值,代码可读性直接翻倍,这是 Python 开发者的通用优雅写法。
# 示例1:解包时忽略不需要的值
data = (100, 200, 300, 400)
a, b, _, _ = data
print(a, b) # 输出:100 200
# 示例2:遍历enumerate只取元素,忽略索引
fruits = ["苹果", "梨", "桃子"]
for _, fruit in enumerate(fruits):
print(f"水果:{fruit}")
2. 用 any()/all() 简化多条件判断
判断列表 / 可迭代对象里的元素是否满足条件,不用写一堆 or/and,any()(任一满足)、all()(全部满足)两行搞定,简洁又直观。
# any():只要有一个元素为True,返回True
nums1 = [0, "", False, 5]
print(any(nums1)) # 输出:True
# all():所有元素为True,才返回True
nums2 = [1, "python", True, 99]
print(all(nums2)) # 输出:True
# 实战场景:判断成绩是否全部及格
scores = [78, 85, 62, 90]
is_all_pass = all(score >=60 for score in scores)
print(f"全部及格:{is_all_pass}") # 输出:True
3. 字符串切片的花式玩法
切片不止能截取字符串,还能反转序列、按步长取值,列表 / 元组也通用,一行代码就能实现很多实用效果,是 Python 超灵活的基础技巧。
s = "Python666进阶"
# 基础:截取指定区间(左闭右开)
print(s[0:6]) # 输出:Python
# 进阶1:步长取值,隔1个取1个
print(s[::2]) # 输出:Pto6进
# 进阶2:反转字符串/列表(最经典用法)
print(s[::-1]) # 输出:阶进666nohtyP
# 进阶3:从末尾截取指定长度
print(s[-3:]) # 输出:6进阶
4. dict.items() 遍历字典键值对
遍历字典别再单独取键、再通过键取值,dict.items() 能直接拿到键 + 值的组合,一步遍历,写法更地道,效率也更高。
# 定义测试字典
info = {"姓名": "小码", "年龄": 22, "职业": "程序员"}
# 高效遍历键值对
for k, v in info.items():
print(f"{k}:{v}")
# 输出:
# 姓名:小码
# 年龄:22
# 职业:程序员
5. 用 sorted() 实现灵活排序
Python 内置的 sorted() 能对任意可迭代对象排序,支持正序 / 倒序、按指定规则排序,还能直接排序字典,比手动写排序逻辑香太多。
# 示例1:基础排序(默认升序)
nums = [5, 2, 9, 1, 5, 6]
print(sorted(nums)) # 输出:[1, 2, 5, 5, 6, 9]
# 示例2:倒序排序
print(sorted(nums, reverse=True)) # 输出:[9, 6, 5, 5, 2, 1]
# 示例3:按指定规则排序(字典按值排序)
score = {"数学":82, "英语":95, "语文":78}
# 按成绩升序排序,返回列表嵌套元组
sorted_score = sorted(score.items(), key=lambda x: x[1])
print(sorted_score) # 输出:[('语文',78), ('数学',82), ('英语',95)]
6. 批量赋值与星号解包
Python 的赋值语法超灵活,星号 * 能接收任意长度的剩余值,不管是给多个变量批量赋值,还是合并序列,都能一行搞定,告别繁琐写法。
# 示例1:基础批量赋值
x, y, z = 1, 2, 3
print(x, y, z) # 输出:1 2 3
# 示例2:星号接收剩余值
a, *b, c = [1,2,3,4,5]
print(a) # 输出:1
print(b) # 输出:[2,3,4]
print(c) # 输出:5
# 示例3:星号解包列表/元组
list1 = [1,2,3]
list2 = [4,5,6]
new_list = [*list1, *list2]
print(new_list) # 输出:[1,2,3,4,5,6]
✨ 总结
这些知识点都没脱离 Python 基础语法范畴,只是更贴合实际开发的进阶用法。不用死记硬背,练几遍就能形成肌肉记忆,用这些技巧改写你的代码,就能轻松摆脱新手的臃肿写法,让代码更符合 Pythonic 风格~