我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python基础之编码规范总结

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python基础之编码规范总结

一、PEP 8规范

官方文档:https://legacy.python.org/dev/peps/pep-0008/
中文翻译: https://www.jb51.net/article/103944.htm

二、缩进

每一级缩进4个空格。

续行应该与包裹元素对齐,要么使用圆括号,方括号,花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐。当使用挂行缩进对齐时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。

  • 对齐缩进(左右括号对齐)

def long_function_name(var_one, var_two,
                       var_three, var_four):
    print(var_one)
  • 悬挂缩进

def long_function_name(
       var_one, var_two,
       var_three, var_four):
   print(var_one)
  • 层级缩进

def long_function_name(
      var_one, var_two, var_three,
      var_four):
  print(var_one, var_two, var_three, var_four)

三、行的最大长度

所有行限制的最大字符数为79

没有结构化限制的大块文本(文档字符或者注释),每行的最大字符数限制在72。


with open("file1", "r") as f1, \
        open("file2", "r") as f2:
    f2.write(f1.read())

四、空行

顶层函数和类定义,前后用两个空行隔开。

类里面方法定义用一个空行隔开。


class Class01:
    pass


class Class02:
    def function_01(self):
        pass

    def function_02(self):
        pass

五、命名约定

变量命名

  • 永远不要使用字母I (小写的L), O (大写的O), I (大写的I)作为单字符的变量名。
  • 在有些字体里面,这些字符无法与数字0和1区分。如果想用I, 可使用L代替。

函数命名

  • 函数名应该小写,如果想提高可读性可以用下划线分隔。
  • 大小写混合仅在为了兼容原来主要以大小写混合风格的情况下使用,保持向后兼容。

类命名

  •  类名一般使用首字母大写的约定。
  • 在接口被文档化并且主要被用于调用的情况下,可以使用函数的命名风格代替。
  • 注意:对于内置的变量命名有一个单独的约定:大部分内置变量是单个单词(或者两个单词连接在一起),首字母大写的命名法只用于异常名或者内部的常量。

类里面函数和方法参数

  • 始终要将self作为实例方法的第一个参数。
  • 始终要将cls作为类方法的第一个参数。
  • 如果函数的参数名和已有关键字冲突,在最后加大意下划线比缩写或者随意拼写更好。因此class_比clss更好。

六、字符串引号

单引号和双引号字符串是相同的。PEP不会为这个给出建议。选择一条规则并坚持使用下去。当一个字符串中包含单引号或者双引号字符串的时候,使用和最外层不同的符号来避免使用反斜杠,从而提高可读性。

模块和包导入规范

  • 命名规范 模块名称要短,使用小写,并避免使用特殊符号, 比如点和问号
  • 因此请尽量保持模块名简单,以无需分开单词最佳(不推荐在两个单词之间使用下划线)

模块导入建议

示例 结果
from modu import * 差, 不清楚具体从模块中导入了哪些内容
from modu import sqrt 稍好
import modu 最佳 , 调用的时候直接使用modu.sqrt能比较清楚的知道当前方法属于哪个模块。
import os \n import sys 推荐
import os, sys 不推荐
from subprocess import Popen, PIPE 也可以

__all__变量

  • 如果模块中存在全局变量__all__, 那么通过__all__ from xxx import *导入时也只会导入__all__中指定的方法和变量,没有的话默认全部导入。

七、包

  • 任意包含__init__.py文件的目录都被认为是一个python包。
  • 因为导入包时会首先执行__init__.py文件
  • 包中__init__.py文件中__all__变量的作用
  • init.py文件中存在全局变量__all__, 通过from xxx import *导入时也只会导入__all__中指定的方法和变量,没有的话默认全部导入。

八、注释


与代码相矛盾的注释比没有注释还糟,当代码更改时,优先更新对应的注释!
注释应该是完整的句子。如果一个注释是一个短语或者句子,它的第一个单词应该大写,除非它是以小写字母开头的标识符(永远不要改变标识符的大小写!)。
如果注释很短,结尾的句号可以省略。块注释一般由完整句子的一个或多个段落组成,并且每句话结束有个句号。
在句尾结束的时候应该使用两个空格。
在非英语国家的python程序员,请使用英文写注释,除非120%的确信你的代码不会被使用其他语言的人阅读。

块注释

块注释通常适用于跟随它们的某些(或全部)代码,并缩进到与代码相同的级别。块注释的每一行开头使用一个#和一个空格(除非块注释内部缩进文本)。

块注释内部的段落通常只有一个#的空行分隔。

行内注释

有节制地使用行内注释

行内注释是与代码语句同行的注释。行内注释和代码至少要有两个空格分隔。注释由#和一个空格开始。

文档注释

要为所有的公共模块,函数,类和方法编写文档说明。

非公共的方法没有必要,但是应该有一个描述方法具体作用的注释。这个注释应该在def那一行之后。

PEP257描述了写出好的文档注释的相关约定。特别需要注意的是:多行文档注释使用的结尾三引号应该是自成一行,例如:


"""这是注释
注释的具体内筒
"""

 对于单行的文档说明,尾部的三引号应该和文档在同一行。

到此这篇关于python基础之编码规范总结的文章就介绍到这了,更多相关python编码规范内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python基础之编码规范总结

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 基础知识汇总(注释规范)

python 分为 单行注释,多行注释以及特殊注释特殊注释:#!/usr/bin/env python# -*-coding:utf-8-*-例1:#!/usr/bin/env python1、必须是文件的第一行2、必须以#!开头 3、告诉
2023-01-31

Python基本编码规范有哪些

这篇“Python基本编码规范有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python基本编码规范有哪些”文章吧。P
2023-06-29

python基础之字符编码

一 计算机基础知识 二 文本编辑器存取文件的原理(nodepad++,pycharm,word)#1、打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失#2、要想永久保存,需要点击保
2023-01-30

Python基础之logging模块知识总结

目录前言一、日志级别二、basicConfig三、日志写文件四、traceback记录前言 logging模块是Python内置的标准模块,主要用于输出脚本运行日志,可以设置输出日志的等级、日志保存路径等。可以通过设置不同的日志等级,在 r
2022-06-02

Python基础篇之字符串方法总结

Python提供了丰富的字符串处理方法,可以方便地对字符串进行操作、处理和转换。在本文中,我们将介绍Python中常用的字符串方法,需要的可以参考一下
2023-05-17

python编码最佳实践之总结

相信用python的同学不少,本人也一直对python情有独钟,毫无疑问python作为一门解释性动态语言没有那些编译型语言高效,但是python简洁、易读以及可扩展性等特性使得它大受青睐。工作中很多同事都在用python,但往往很少有人关
2022-06-04

Python爬虫基础之selenium库的用法总结

目录一、selenium简介二、selenium基本用法三、常用用法四、cookie的设置、获取与删除五、文件的上传与下载 文件上传upload六、窗口的切换七、项目实战一、selenium简介 官网总的来说: selenium库主要用来做
2022-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录