文档章节

PEP 8 -- Python代码风格指南

大培哥
 大培哥
发布于 2017/05/25 16:48
字数 752
阅读 30
收藏 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 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心。 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发...

不正经程序员
2018/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...

_周小董
2018/05/01
0
0
continuation line missing indentation or outdented 这个坑爹的校验也是没谁了

PyCharm配置autopep8,自动格式化Python代码 1. 关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性。 官网...

longjunping
2017/10/17
0
0
Python中必读的PEP提案

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

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

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

磁针石
2018/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

tac 与cat

tac从后往前看文件,结合grep使用

writeademo
50分钟前
2
0
表单中readonly和dsabled的区别

这两种写法都会使显示出来的文本框不能输入文字, 但disabled会使文本框变灰,而且通过通过表单提交时,获取不到文本框中的value值(如果有的话), 而readonly只是使文本框不能输入,外观没...

少年已不再年少
今天
2
0
SpringBoot上传图片操作

首先有个上传文件的工具类 /** * 文件上传 * @param file * @param filePath * @param fileName * @throws Exception */public static void uploadFile(byte[] file, String ...

_liucui_
今天
6
0
DrawerLayout

public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener,OnFragmentInteractionListener{ public NavigationView navView; ......

安卓工程师王恒
今天
2
0
python精简笔记

python精简笔记-字符串基本用法 字符串常见用法: * encode() # 编码成bytes类型 * find() # 查找子串 * index() # 获取下标 * replace() # 替换子串 * len(string) # 返回字符串长度,...

平头哥-Enjoystudy
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部