5个让你爱不释手的Python冷门技巧
写Python久了,总有些小技巧能让代码既优雅又高效。今天分享几个你可能没用过但特别好用的技巧。
1. 海象运算符 :=
Python 3.8引入的赋值表达式,可以在表达式中同时完成赋值和判断:
# 传统写法
data = input("输入:")
while data != "quit":
print(f"你说了:{data}")
data = input("输入:")
# 海象写法
while (data := input("输入:")) != "quit":
print(f"你说了:{data}")
2. 下划线占位符
数字中的下划线让大数字更易读,Python会自动忽略:
million = 1_000_000 # 一百万
hex_val = 0xFF_FF_FF # 十六进制
print(million) # 1000000
3. else 从句的妙用
for/while 循环可以跟 else,仅在循环没有被 break 中断时执行:
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(f"{n} = {x} * {n//x}")
break
else:
print(f"{n} 是质数")
4. 反向迭代与切片
reversed() 反向迭代,[::-1] 快速反转序列:
for ch in reversed("Python"):
print(ch) # n, o, h, t, y, P
palindrome = "racecar"[::-1] # "racecar"
5. 上下文管理器装饰器
用 @contextmanager 轻松创建上下文管理器:
from contextlib import contextmanager
@contextmanager
def temporary_scope(name):
print(f"进入 {name}")
yield
print(f"退出 {name}")
with temporary_scope("测试区"):
print("正在执行...")
这些小技巧平时可能不起眼,但关键时刻能让代码简洁不少。你用过几个?