苦练Python第20天:Python官方钦定的代码风格指南

苦练Python第20天:Python官方钦定的代码风格指南

原文链接:dev.to/therahul_gu...

作者:Rahul Gupta

译者:倔强青铜三

前言

大家好,我是倔强青铜三 。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

100 天 Python 挑战来到 第 20 天 !今天带你一口气吃透官方代码风格指南 PEP 8,让你的代码瞬间专业、可读、优雅。


📦 今日要点

  • 什么是 Pythonic 代码
  • PEP 8 速览:命名、缩进、行宽、空格、导入、文档
  • 一键格式化神器:Black、flake8、isort
  • 实战 Before vs After 对比

🧠 Pythonic 代码是什么?

  • 易读
  • 简洁却清晰
  • 风格一致
  • 优雅自然

📜 PEP 8 速查表

PEP 8 就是 Python 代码的"语法说明书"。

1️⃣ 4 个空格缩进

python 复制代码
# ✅ 推荐
def greet():
    print("Hello")

# ❌ 不推荐 (Tab键缩进 or 2个空格缩进)

2️⃣ 行宽 ≤ 79

python 复制代码
print("Long strings can be broken with"
      " implicit line continuation.")

3️⃣ 函数间留 2 空行

python 复制代码
def foo():
    pass


def bar():
    pass

4️⃣ 运算符空格

python 复制代码
x = 5 + 2    # ✅
x=5+2        # ❌

5️⃣ 命名规范

类型 风格 示例
变量 snake_case user_name
函数 snake_case get_data()
类 PascalCase UserProfile
常量 ALL_CAPS MAX_RETRY = 3

6️⃣ 一行只导入一个模块

python 复制代码
import os
import sys          # ✅
# import os, sys   # ❌

导入顺序:

  1. 标准库
  2. 第三方库
  3. 本地模块

7️⃣ 为函数写 docstring

python 复制代码
def add(a, b):
    """Return the sum of a and b."""
    return a + b

8️⃣ 未使用变量用 _

python 复制代码
for _ in range(5):
    print("Hi")

9️⃣ None 用 is 判断

python 复制代码
if user is None:   # ✅
    ...

🧰 一键格式化神器

bash 复制代码
pip install black flake8 isort
  • Black:自动格式化
  • flake8:代码检查
  • isort:导入排序

格式化文件:

bash 复制代码
black your_script.py

✨ Before vs After

❌ 不 Pythonic

python 复制代码
def myfunc(x):print(x+  5)

✅ Pythonic

python 复制代码
def my_func(x):
    print(x + 5)

🧼 为什么重要

  • 可读性 ↑
  • 协作效率 ↑
  • Bug 早发现
  • 专业形象 ↑
  • 开源/团队必会

🧠 一日精华

  • Pythonic = 优雅 + 规范
  • PEP 8 十条军规速背
  • Black + flake8 一键开挂
  • 立即格式化,写真正的专业代码

最后感谢阅读!欢迎关注我,微信公众号 :倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

相关推荐
杨杨杨大侠30 分钟前
RAG、记忆、上下文,这几个东西到底怎么串起来?
人工智能·agent
system_error_x2 小时前
MCP协议开发实战:从零搭建AI Agent工具链
人工智能
破茧蝴蝶2 小时前
Python分布式爬虫完整教程
开发语言·python
Sayai2 小时前
ComfyUI+混元视频实战:12G 显存跑 13G 模型,5 分钟出片(国产开源,附模型与工作流)
人工智能·aigc·音视频·comfyui·hunyuanvideo·混元视频
benchmark_cc2 小时前
量化系统架构设计:为什么应该将数据获取与策略逻辑解耦?
python·数据分析·pandas·量化交易·股票数据·quantdash
燧机科技SuiJi2 小时前
山体坍塌落石滑坡泥石流监测系统 落石泥石流监控摄像机
大数据·人工智能·深度学习·yolo
凤山老林3 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
国科安芯3 小时前
立方星与微纳卫星综合电子微型化趋势下的抗辐射MCU选型综述
人工智能·单片机·嵌入式硬件·mcu·risc-v·抗辐射
小白快快跑哦3 小时前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
诸神缄默不语3 小时前
小春学习日刊 2026年第4期:2026.10.16
人工智能