文档章节

PEP 8 -- Python代码风格指南

大培哥
 大培哥
发布于 2017/05/25 16:48
字数 752
阅读 26
收藏 0

介绍

    这篇文档给出了在主要的Python发行版中标准库代码的编码风格。这篇文档和PEP 257主要来自于对Guido的Python代码风格指南论文的改动以及增加了一些Barry的风格指南的内容。

    许多项目都有它们自己的编码风格指南。当发生编码风格冲突的时候,特定项目的编码风格指南优先于这里的风格指南。

Code lay-out

缩进

    每个缩进层级使用4个空格。

 连续行应当被正确的排列,或者用Python中精确的行垂直的来排列括弧里面的元素,或者使用悬挂式缩进的来排列。当悬挂式缩进的方式被采用时,下面的情况应当被考虑。在第一行中应该没有参数,并且后续的缩进应当清楚的将自己标记为一个连续行。

#yes
# Aligned with opening delimiter.
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

#More indentaion included to distinguish this from the rest.
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# Hanging indents should add a level. 
foo = long_function_name(
    var_one, var_two,
    var_three, var_four)

对于连续行而言,four-space规则是可选的。

当if表达式的条件部分足够长,被要求写到多行中去。可以这样去做if后面接一个空格,接一个括号,下面的连续行采用四个空格缩进的方式。这样可以很显式的去表明if表达式的关系。看看下面的情况。

# No extra indentation.
if (this_is_one_thing and
    that_is_another_thing):
    do_something()

# Add a comment , which will provide some distinction in editors
# supporting syntax highlighting.
if (this_is_one_thing and
    that_is_another_thing):
    # Since both conditions are true, we can frobnicate.
    do_something()

# Add some extra indentation on the conditional continuation line.
if (this_is_one_thing
        and that_is_another_thing):
    do_something()

列表表达式的多行方式也有下面的两种形式。

my_list = [
    1, 2, 3,
    4, 5, 6,
    ]

result = some_function_that_takes_arguments(
    'a', 'b', 'c',
    'd', 'e', 'f',
    )
或者
my_list = [
    1, 2, 3,
    4, 5, 6,
]

result = some_function_that_takes_arguments(
    'a', 'b', 'c',
    'd', 'e', 'f',
)

 

Tabs or Spaces

    空格是Python中推荐的缩进方法。Tab有时候也会用到,但仅仅是为了去对付原有代码以“Tab”为缩进方式的情况。

  Python3不允许混合“Tab”和空格作为缩进方式。

  Python2中代码缩进混合了“Tab”和空格的,“Tab”将会被转化成空格。当使用-t参数调用python2命令行解析器,解析器将会报出代码在缩进的过程中非法混合了“Tab”和空格的警告。当使用-tt,这些警告将会变成错误。这些参数被极力推荐。

 

tomorrow will be better , 有空再慢慢补充。

 

 

 

【参考链接】

https://www.python.org/dev/peps/pep-0008/#indentation

© 著作权归作者所有

共有 人打赏支持
大培哥
粉丝 5
博文 31
码字总数 29758
作品 0
浦东
程序员
Python 常用静态代码检查工具简介

对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心。 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发...

不正经程序员
07/24
0
0
python基础autopep8__python代码规范

关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性。 官网地址:https://www.python.org/dev/peps/pep-0...

_周小董
05/01
0
0
Python中必读的PEP提案

什么是PEP PEP 是 Python 增强提案(Python Enhancement Proposal)的缩写。社区通过PEP来给 Python 语言建言献策,每个版本你所看到的新特性和一些变化都是通过PEP提案经过社区决策层讨论、投...

刘志军
08/08
0
0
[雪峰磁针石博客]python代码风格指南(PEP8中文版)

本文给出主Python版本标准库的编码约定。CPython的C代码风格参见PEP7。 本文和PEP 257 文档字符串标准改编自Guido最初的《Python Style Guide》, 并增加了Barry的GNU Mailman Coding Style ...

磁针石
08/21
0
0
个人总结——全面的『Python编码规范』

本文目的 『动态类型一时爽,代码重构火葬场』,说的是:动态语言在初期开发比较爽,但是到后期维护起来比较困难。Python 作为动态语言之一,自然也会有这样的缺点。其实说『火葬场』,也没有...

hezhiming
05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部