返回顶部
首页 > 资讯 > 后端开发 > Python >Python编码规范
  • 336
分享到

Python编码规范

Python 2023-01-31 01:01:39 336人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

标准头部 #!/usr/bin/python 编码 所有的 Python 脚本文件都应在文件头标上 #-*- coding:utf8 -*- 。设置编辑器,默认保存为 utf8 格式。 main函数 应用程序要定义main函数而不要直接写脚

标准头部

#!/usr/bin/python

编码

所有的 Python 脚本文件都应在文件头标上 #-*- coding:utf8 -*- 。设置编辑器,默认保存为 utf8 格式。

main函数

应用程序要定义main函数而不要直接写脚本

  1. def main():  
  2.     dosomething()  
  3.  
  4. if __name__ == "__main__":  
  5.     main()  

如果是全局变量,则需要显式加上"global"。

注释

Python 的注释分为两种的概念,一种是由 # 开头的"真正的"注释,另一种是 docstrings。前者表明为何选择当前实现以及这种实现的原理和难点,后者表明如何使用这个包、模块、类、函数(方法),甚至包括使用示例和单元测试
坚持适当注释原则。对不存在技术难点的代码坚持不注释,对存在技术难点的代码必须注释。但与注释不同,推荐对每一个包、模块、类、函数(方法)写 docstrings,除非代码一目了然,非常简单。
注释块通常应用于跟随着一些(或者全部)代码并和这些代码有着相同的缩进层次。注释块中每行以'#'和一个空格开始(除非他是注释内的缩进文本)。注释块内的段落以仅含单个'#'的行分割。注释块上下方要有一空行包围。

缩进

Python 代码缩进为4个空格,在文件结尾声明

  1. # Modeline {{{  
  2. # vim:set ts=4:  
  3. # vim600:fdm=marker fdl=0 fdc=0  
  4. # }}} 

空格

空格在Python 代码中是有意义的,因为Python的语法依赖于缩进,在行首的空格称为前导空格。在这一节不讨论前导空格相关的内容,只讨论非前导空格。非前导空格在 Python 代码中没有意义,但适当地加入非前导空格可以增进代码的可读性。
1)在二元算术、逻辑运算符前后加空格:如 a = b + c;
2)在一元前缀运算符后不加空格,如 if !flg: pass;
3)":"用在行尾时前后皆不加空格,如分支、循环、函数和类定义语言;用在非行尾时后端加空格,如 dict 对象的定义 d = {'key': 'value'}。
4)括号(含圆括号、方括号和花括号)前后不加空格,如 do_something(arg1, arg2),而不是 do_something( arg1, arg2 );
5)逗号后面加一个空格,前面不加空格。

空行

1)在类、函数的定义间加空行;
2)在import不同种类的模块间加工行;
3)在函数中的逻辑段落间加空行,即把相关的代码紧凑写在一起,作为一个逻辑段落,段落间以空行分隔。

断行

行的最大长度不得超过 80 个字符的标准。折叠长行的方法有以下几种方法:
1)为长变量名换一个短名,如:

  1. this.is.a.very.long.variable_name = this.is.another.long.variable_name  

应改为:

  1. variable_name1 = this.is.a.very.long.variable_name  
  2. variable_name2 = this.is.another.variable_name  
  3. variable_name1 = variable_name2  

2)在括号(包括圆括号、方括号和花括号)内换行,如:

  1. class Edit(CBase):  
  2.     def __init__(self, parent, width,  
  3.         font = FONT, color = BLACK, pos = POS, style = 0): 
 

或:

  1. very_very_very_long_variable_name = Edit(parent, \  
  2.     width, \  
  3.     font, \  
  4.     color, \  
  5.     pos)  

2)在长行加入续行符强行断行,断行的位置应在操作符前,且换行后多一个缩进,以使维护人员看代码的时候看到代码行首即可判定这里存在换行,如:

 

  1. if color == WHITE or color == BLACK \  
  2.     or color == BLUE:  
  3.     do_something(color); 

命名常量

常量名所有字母大写,由下划线连接各个单词,如:

  1. WHITE = 0XFFFFFF 
  2. THIS_IS_A_CONSTANT = 1 

变量

变量名全部小写,由下划线连接各个单词,如:

  1. color = WHITE  
  2. this_is_a_variable = 1  

不论是类成员变量还是全局变量,均不使用m或g前缀。私有类成员使用单一下划线前缀标识。
变量名不应带有类型信息,因为 Python 是动态类型语言。如 iValue、names_list、dict_obj 等都是不好的命名。

函数

函数名的命名规则与变量名相同。

类名单词首字母大写,不使用下划线连接单词,也不加入 C、T 等前缀。如:

 

  1. class ThisIsAClass(object):  
  2.     pass 

模块

模块名全部小写,对于包内使用的模块,可以加一个下划线前缀,如:

  1. module.py  
  2. _internal_module.py 

包的命名规范与模块相同。

缩写

命名应当尽量使用全拼写的单词,缩写的情况有如下两种:
1)常用的缩写,如 XML、ID等,在命名时也应只大写首字母,如
class XmlParser(object):pass
2)命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式,如去除元音、包含辅音的首字符等方式,例如:
funct
ion 缩写为 fn
text 缩写为 txt
object 缩写为 obj
count 缩写为 cnt
number 缩写为 num,等。

特定命名方式

主要是指 __xxx__ 形式的系统保留字命名法。项目中也可以使用这种命名,它的意义在于这种形式的变量是只读的,这种形式的类成员函数尽量不要重载。如

 

  1. class Base(object):  
  2.     def __init__(self, id, parent = None):  
  3.         self.__id__ = id  
  4.         self.__parent__ = parent  
  5.         def __message__(self, msgid):  
  6.             pass 

其中 _idparent_ 和 _message_ 都采用了系统保留字命名法。

语句import

import 语句有以下几个原则需要遵守:
1)import 的次序,先import Python内置模块,再import第三方模块,最后import自己开发的项目中的其它模块;这几种模块中用空行分隔开来。
2)一条import语句import一个模块。
3)当从模块中 import 多个对象且超过一行时,使用如下断行法(此语法 py2.5 以上版本才支持):
from module import (obj1, obj2, obj3, obj4,
obj5, obj6)
4)不要使用 from module import *,除非是 import 常量定义模块或其它你确保不会出现命名空间冲突的模块。

赋值

对于赋值语言,主要是不要做无谓的对齐,如:

  1. a = 1 
  2. variable = 2 
  3. fn = callback_function  

应该写成:

  1. a = 1 
  2. variable = 2 
  3. fn = callback_function 

分支和循环

不要写成一行,如:

  1. if !flg: pass  
  2. for i in xrange(10): print i   

应该写成:

  1. if !flg:  
  2.     pass 
  3. for i in xrange(10):  
  4.     print i 

其他建议

避免在内存中处理大对象,由于python申请的内存不一定会返还给操作系统(有时会返还给python内存池)

 

本文在 《Python编码规范》Http://www.cnblogs.com/BoyeeStudio/articles/382882.html的基础上进行补充

--结束END--

本文标题: Python编码规范

本文链接: https://lsjlt.com/news/185141.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 编码规范
    一 代码编排 1 缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。 3 类和top-level函数定义之间...
    99+
    2023-01-30
    Python
  • Python编码规范
    标准头部 #!/usr/bin/python 编码 所有的 Python 脚本文件都应在文件头标上 #-*- coding:utf8 -*- 。设置编辑器,默认保存为 utf8 格式。 main函数 应用程序要定义main函数而不要直接写脚...
    99+
    2023-01-31
    Python
  • Python最简编码规范
    0、前言本文是阅读《Python Coding Rule》之后总结的最为精华及简单的编码规范,根据每个人不同喜好有些地方会有不同的选择,我只是做了对自己来说最简单易行的选择,仅供大家参考。1、重要原则a.保持风格的一致性很重要,但最重要的是...
    99+
    2023-01-31
    简编 Python
  • 规范-编码
    c++编码规范 c++11, xcode, vistual studio 编码规范 http://zh-google-styleguide.r... 常用库 标准库: http://en.cppreference.com/w/ 日志:...
    99+
    2023-01-31
  • Python编码规范摆脱Python编码噩梦
    目录1. Python 3 中 str 与 bytes2. Python 2 中 str 与 unicode3. 如何检测对象的编码4. 编码与解码的区别5. 如何设置文件编码博客原...
    99+
    2024-04-02
  • 【python技能树】python编码规范
    想要写好python代码,必须了解python相关编码规范,有了这个的加持,编写的代码不仅可以实现相应的功能,而且简单易读,逻辑清晰。本节技能树主要分享相应的python编码规范,学习python的小伙伴们请仔细阅读,对你的python代...
    99+
    2023-09-15
    python python技能树 python编码规范
  • Python编码规范有哪些
    Python编码规范有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。编码在Python编码规范中,所有的 Python 脚本文件都应在文件头标上 # -*- codin...
    99+
    2023-06-17
  • Node.js编码规范
    调用函数的时候,函数名与左括号之间没有空格。 函数名与参数序列之间,没有空格;所有其他语法元素与左括号之间,都有一个空格。 使用小驼峰式命名法作为所有变量和属性的命名规则。 缩进使用两空格,统一使用单引号。...
    99+
    2022-06-04
    Node js
  • 关于Python中的编码规范
    目录编码规范1、分号2、命名3、行长度4、缩进5、空行6、空格7、类8、块注释和行注释9、字符串10、导包【总结】1.命名2.空白3.语句4.注释编码规范 Python 编码规范重要...
    99+
    2023-05-15
    Python规范 Python编码规范
  • python编程规范
    每个import 语句只导入一个模块,尽量避免一次导入多个模块。 不要在行尾添加分号“;”,也不要用分号将两条命令放在同一行。 建议每行不超过80个字符,如果超过,建议使用小括号将多行内容隐式地连接起来,而不推荐使用反斜杠进行连接 使...
    99+
    2023-01-30
    python
  • java编码规范 (转)
    java编码规范 (转)[@more@]Java 编码规范XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />翻译:王士勇(转载请保留作者,谢谢...
    99+
    2023-06-03
  • Python代码规范和命名规范
    前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 目录 一、简明概述 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码如无特殊情况, 文件头部必...
    99+
    2023-01-31
    代码 Python
  • 浅谈Android编码规范及命名规范
    前言:   目前工作负责两个医疗APP项目的开发,同时使用LeanCloud进行云端配合开发,完全单挑。   现大框架已经完成,正在进行细节模块上的开发   抽空总结一下And...
    99+
    2022-06-06
    Android
  • Python 常用 PEP8 编码规范详解
    Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格。 括号中使用垂直隐式缩进或使用悬挂缩进。 EXAMPLE: # (垂直隐式缩进)对准左括号 foo = long_...
    99+
    2022-06-04
    详解 常用 Python
  • Python编码规范知识点整理
    本篇文章给大家带来了关于Python的相关知识,其中主要整理了编码规范的相关问题,想要写好python代码,必须了解python相关编码规范,有了这个的加持,编写的代码不仅可以实现相应的功能,而且简单易读,逻辑清晰,下面一起来看一下,希望对...
    99+
    2022-07-08
    python
  • python基础之编码规范总结
    目录一、PEP 8规范二、缩进三、行的最大长度四、空行五、命名约定六、字符串引号七、包八、注释一、PEP 8规范 官方文档:https://legacy.python.org/dev...
    99+
    2024-04-02
  • Python基本编码规范有哪些
    这篇“Python基本编码规范有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python基本编码规范有哪些”文章吧。P...
    99+
    2023-06-29
  • Python中的编码规范有哪些
    这篇“Python中的编码规范有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中的编码规范有哪些”文章吧。编...
    99+
    2023-07-06
  • Python 代码规范
    Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯。 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf...
    99+
    2023-01-31
    代码 Python
  • java编码规范(2) (转)
    java编码规范(2) (转)[@more@]Java 编码规范(2)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />翻译:王士勇(转载请保...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作