• home > Python > Beginners >

    PEP8规范科普

    Author:zhoulujun Date:

    采用一致的风格书写出可读性强的代码是每个专业的程序员应该做到的事情,也是每个公司的编程规范中会提出的要求,这些在多人协作开发一个项目(团队开发)的时候显得尤为重要。

    python、php、js等都是易学的语言,但是项目大了,确实头痛。像我这种java 后台开发出身的,只有想各种办法,在软件工程层面,去解决这些问题。

    PEP8规范是什么?

    PEP是Python Enhancement Proposal的缩写,通常翻译为“Python增强提案”。

    每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP 8)是针对Python语言编订的代码风格指南。

    PEP8规范相关内容

    我们可以从Python官方网站的PEP 8(https://www.python.org/dev/peps/pep-0008/)链接中找到该文档,具体内容还是看官方文档较好。

    无论你是刚入门Python的小白、有一定经验的从业人员,还是资深的黑客,都应该阅读Python增强提案。依我之见,阅读PEP至少有如下好处:(

    1. 了解Python有哪些特性,它们与其它语言特性的差异,为什么要设计这些特性,是怎么设计的,怎样更好地运用它们;

    2. 跟进社区动态,获知业内的最佳实践方案,调整学习方向,改进工作业务的内容;

    3. 参与热点议题讨论,或者提交新的PEP,为Python社区贡献力量。说到底,学会用Python编程,只是掌握了皮毛。

    PEP提案是深入了解Python的途径,是真正掌握Python语言的一把钥匙,也是得心应手使用Python的一本指南。

    哪些PEP是必读的?

    如前所述,PEP提案已经累积产生了478个,我们并不需要对每个PEP都熟知,没有必要。下面,我列举了一些PEP,推荐大家一读:

    PEP 0 -- Index of Python Enhancement Proposals
    PEP 7 -- Style Guide for C Code,C扩展
    PEP 8 -- Style Guide for Python Code,Python编码规范(必读)
    PEP 20 -- The Zen of Python,Python之禅
    PEP 202 -- List Comprehensions,列表生成式
    PEP 274 -- Dict Comprehensions,字典生成式
    PEP 234 -- Iterators,迭代器
    PEP 257 -- Docstring Conventions,文档注释规范
    PEP 279 -- The enumerate() built-in function,enumerate枚举
    PEP 282 -- A Logging System,日志模块
    PEP 285 -- Adding a bool type,布尔值(建议阅读《Python对象的身份迷思:从全体公民到万物皆数》)
    PEP 289 -- Generator Expressions,生成器表达式
    PEP 318 -- Decorators for Functions and Methods,装饰器
    PEP 342 -- Coroutines via Enhanced Generators,协程
    PEP 343 -- The "with" Statement,with语句
    PEP 380 -- Syntax for Delegating to a Subgenerator,yield from语法
    PEP 405 -- Python Virtual Environments,虚拟环境
    PEP 471 -- os.scandir() function,遍历目录
    PEP 484 -- Type Hints,类型约束
    PEP 492 -- Coroutines with async and await syntax,async/await语法
    PEP 498 -- Literal String Interpolation Python,字面字符串插值
    PEP 525 -- Asynchronous Generators,异步生成器
    PEP 572 -- Assignment Expressions,表达式内赋值(最具争议)
    PEP 3105 -- Make print a function,print改为函数
    PEP 3115 -- Metaclasses in Python 3000,元类
    PEP 3120 -- Using UTF-8 as the default source encoding,默认UTF-8
    PEP 3333 -- Python Web Server Gateway Interface v1.0.1,Web开发
    PEP 8000 -- Python Language Governance Proposal Overview,GvR老爹推出决策层后,事关新决策方案


    PEP8代码规范化工具

    像我这种用惯了jetbrain idea神器的我,python还是首选,Pytharm。

    Pycharm配置autopep8:自动调整代码为PEP8风格

    Autopep8是自动将Python代码格式化为符合PEP 8风格的工具。它使用pycodestyle工具来确定代码的哪些部分需要被格式化。

    Autopep8能够修复大部分pycodestyle检测的格式问题

    github地址:https://github.com/hhatto/autopep8

    autopep8配置使用

    pip install autopep8
    autopep8 --in-place --aggressive <filename>
    autopep8 --in-place --aggressive Student.py

    执行上面脚本

    Pycharm配置Autopep8方法

    选择菜单「File」–>「Settings」–>「Tools」–>「External Tools」–>点击加号添加工具


    参考内容:

    Pycharm配置autopep8:自动调整代码为PEP8风格 https://www.cnblogs.com/xiao-apple36/p/9242069.html

    Python 的众多 PEP 之中,除了 PEP8 ,还有哪一些是值得阅读的? - 豌豆花下猫的回答 - 知乎 https://www.zhihu.com/question/23484654/answer/527807938


    转载本站文章《PEP8规范科普》,
    请注明出处:https://www.zhoulujun.cn/html/Python/Beginners/8548.html