Python 代码优雅度 UP:冷门基础小技巧

35 阅读2分钟

还在写一眼就能看穿的 “直男式” Python 代码?这 3 个进阶偏基础的小技巧,看似不起眼,却能让你的代码瞬间变得优雅又专业,同事看了都得夸!

1. 三元表达式:一行搞定条件判断,告别啰嗦 if-else

简单的二选一逻辑,没必要写大段的 if-else,三元表达式直接一行搞定,可读性拉满!

# 需求:判断数字是奇数还是偶数
num = 7

# 传统写法:if-else 占满3行
if num % 2 == 0:
    result = "偶数"
else:
    result = "奇数"
print(result)  # 输出:奇数

# 三元表达式:一行简洁搞定
result = "偶数" if num % 2 == 0 else "奇数"
print(result)  # 输出:奇数

# 进阶:嵌套三元(慎用!复杂逻辑别嵌套,会变乱)
score = 85
level = "优秀" if score >= 90 else "良好" if score >= 80 else "及格"
print(level)  # 输出:良好

2. else 与循环的 “神仙组合”:找不到目标再执行

你以为 else 只能跟 if 配对?它还能跟 for/while 循环组队!循环正常结束(没被 break 打断)时,else 代码块才会执行。

# 需求:检查列表中是否有数字 10
nums = [1, 3, 5, 7, 9]

# 传统写法:用 flag 标记
has_ten = False
for n in nums:
    if n == 10:
        has_ten = True
        break
if not has_ten:
    print("列表里没有10")

# 神仙组合:for + else
for n in nums:
    if n == 10:
        print("列表里有10")
        break
else:
    # 循环没被 break 打断时才会执行
    print("列表里没有10")  # 输出这句话

3. 字符串格式化:f-string 才是 yyds,告别 % 和 format

拼接字符串还在用 + 或者 %s?Python 3.6+ 推出的 f-string,简洁又灵活,变量、表达式、函数调用都能直接塞进去!

name = "掘金小猿"
age = 25

# 传统写法1:+ 号拼接,麻烦且容易错
print("我叫" + name + ",今年" + str(age) + "岁")

# 传统写法2:% 格式化,参数多了容易乱
print("我叫%s,今年%d岁" % (name, age))

# 传统写法3:format 格式化,比 % 好用但还是啰嗦
print("我叫{},今年{}岁".format(name, age))

# 现代写法:f-string 简洁又强大
print(f"我叫{name},今年{age}岁")
# 还能直接写表达式
print(f"明年我{age + 1}岁")
# 调用函数也没问题
def double(x):
    return x * 2
print(f"年龄的两倍是{double(age)}")

小总结

  1. 简单条件判断用三元表达式,减少代码行数;
  2. for/while + else 组合,专门处理 “循环正常结束后执行” 的场景;
  3. 字符串格式化优先用 f-string,简洁灵活效率高。