pep8 python 编码规范_Python基础之PEP8规范(代码写作规范)

文章目录

1、缩进

2、命名约定

3、Python之禅

PEP8是Python的官方文档中提供的代码规范,结合这套规范,我顺便整理了一下自己的写代码习惯。

点这里查看PEP8官方原文,本文只节选了我自己比较看重的一些规范,仅供参考。

1、缩进

强制缩进的规定,让代码看上去很整齐,强迫症表示很喜欢。

第一种情况:代码块的分割

Python使用一个冒号和缩进,来分割代码块,代码块指的是类的定义、函数的定义、流程控制中if、for、while模块。缩进表示一个代码块的开始,非缩进表示一个代码的结束,相同的缩进表示在代码块中处于相同的级别。

每一级缩进使用一个tab键(四个空格)。实际上一个空格就可以,但是一个空格看起来不那么明显,所以用一个tab更方便、清楚。

例如下面,就是2个代码块(两个代码块之间建议空一行)。

# 一个冒号加换行缩进,开启一个代码块,直到下面一行不缩进了,说明下面一行已经不在这个代码块里了

if a>b:

print(a)

def print_name(var):

print(var)

print('haha')

第二种情况:换行

有时候写一行代码,特别特别长的时候,就需要换行。文档建议续行与其包裹元素对齐,譬如用括号来垂直对齐,如下。

# 换行后的括号里内容,不超过上一行的括号

foo = long_function_name(var_one, var_two,

var_three, var_four)

2、命名约定

变量名可以是字母、数字、下划线的组合,不能以数字开头,也不可以用关键字来命名哦!

关键字,就是有特殊意义的字符:

import keyword

print(keyword.kwlist)

['False', 'None', 'True', 'and', 'as', 'assert', 'break', \

'class', 'continue', 'def', 'del', 'elif', 'else', 'except',\

'finally', 'for', 'from', 'global', 'if', 'import', 'in', \

'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',\

'return', 'try', 'while', 'with', 'yield']

除此之外,还有一些其他的规范:

1)Python 里面区分大小写,类名一般使用首字母大写;

2)慎用字母I(i的大写)、l(L的小写)、o、O,因为可能被人错看成数字1和0;

3)命名应既简短又具有描述性。例如,student_name比s_n好,name_length比length_of_persons_name好;

4)在运算符前后各保留一个空格,例如 n == 1;

3、Python之禅

Python 中内置了一个彩蛋,简单明了地说明了 Python 的哲学,只要输入 import this,然后按下回车就能看到原文,这里贴出中文翻译版本:Python之禅

by Tim Peters

优美胜于丑陋

明了胜于隐晦

简洁胜于复杂

复杂胜于混乱

扁平胜于嵌套

宽松胜于紧凑

可读性很重要

即便是特例,也不可违背这些规则

虽然现实往往不那么完美

但是不应该放过任何异常

除非你确定需要如此

如果存在多种可能,不要猜测

肯定有一种——通常也是唯一一种——最佳的解决方案

虽然这并不容易,因为你不是Python之父

动手比不动手要好

但不假思索就动手还不如不做

如果你的方案很难懂,那肯定不是一个好方案

如果你的方案很好懂,那肯定是一个好方案

命名空间非常有用,我们应当多加利用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值