千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  技术干货  >  为什么Python代码要写得美观而明确?

为什么Python代码要写得美观而明确?

来源:千锋教育
发布人:xqq
时间: 2023-10-15 15:22:46

一、为什么Python代码要写得美观而明确

写美观和明确的代码可以帮助更好地理解代码的意图和功能,使得以后的维护和更新工作变得更加容易。此外,美观和明确的代码也可以让其他人更容易阅读和理解你的代码,这对于团队协作或代码复用来说非常重要。最后,美观和明确的代码也可以帮助降低出错的概率,因为编写易读的代码可以使你更容易发现错误或潜在的问题。

所以,不仅仅是python,其他语言也是一样。这是一个态度,也是一个提高自己的方法,是一个循序渐进的而过程。

核心准则

缩进

优选使用4个空格。

目前几乎所有的IDE都是默认tab转为4个空格,没有大问题。

行的最大长度

79个字符。

曾经笔者认为这是个“过时”的建议,目前做开发基本都是大屏幕,写代码全屏的时候编辑器足以容纳120字符一行或者更长。但是如果要在web上比较两次提交的代码差异,显然是会导致代码换行,或者如果左右滑动,增加了比较的难度,在多年实践之后(2016-2020),所以目前还是使用建议的最大行长度。

导入

导入位于文件顶部,在文件注释之后。 导入通常是单独一行。

# Correct:

import os

import sys

# Wrong:

import sys, os

或者这样也是可以的:

# Correct:

from subprocess import Popen, PIPE

导入应该按照以下顺序分组:

标准库导入相关的第三方导入特定的本地应用/库导入 在每个导入组之间放一行空行。 推荐绝对导入,因为它们更易读;处理复杂包布局时明确的相对导入可以用来替代绝对导入,因绝对导入过于冗长。

此外,根据实践经验,建议移除所有不必要的imports。

其他如有细节问题,查看文档

导入这部分,通过Python库isort可以完美解决(vscode默认使用isort),在vscode中isort的默认参数便完全符合上面的编码规范,这里介绍笔者一些个人的风格设置,通过设置isort的参数可以实现:

当from .. import …超过行长度限制时,重新起一行:–sl/–force-single-line-imports强制通过包名排序:–fss/–force-sort-within-sections

并可设置为保存时自动排序imports,在vscode中配置为:

{

    “editor.codeActionsOnSave”: {

        “source.organizeImports”: true

    },

    “python.sortImports.args”: [

        “–force-sort-within-sections”,

        “–force-single-line-imports”

    ],

}

4 注释

切忌注释和代码不一致!!,这比没有注释更让人抓狂。 主要遵守以下要点:

修改代码时,优先修改注释;注释应该是完整的句子。所以名列前茅个单词首字母必须大写,除非是名列前茅个单词是小写字母开头的标识符;短注释可以不加句号结尾,完整句子的注释必须要句号结尾;注释每行以一个#加一个空格开头;块注释需要使用相同级别的缩进;行内注释则必须用至少两个空格和代码隔开;尽量让你的代码“会说话”,不写不必要的注释。

文档字符串(a.k.a. “docstrings”)

为所有公共模块,函数,类和方法书写文档字符串。细节可以查看PEP 257。

对于docstrings,CLion有很好的支持,vscode可以通过插件实现Python Docstring Generator:

插件管理器搜索Python Docstring Generator安装即可使用方法很简单,在函数名后换行快捷键Ctrl+Shift+2即可,或者输入”””敲换行时也会自动添加

该插件默认使用的风格是Google,通过对比一些开源算法库的文档,使用Google风格的比如TensorFlow,PyTorch,其文档的可读性并不如使用numpy风格的NumPy和SciPy,因此建议使用numpy风格。

延伸阅读:

二、python的可扩展性

可扩展性是属于 Python 的其他特性之一。在必要时,可以用其他语言编写 Python 代码的一部分,例如 C++。因此,Python 是一种可扩展的语言,这意味着它可以被扩展到其他语言。Python 可扩展的特性是指 Python 的部分代码可以用 C 或 C++ 来编写。这并不能增强语言 (语法、结构等等),但是它可以让你把 Python 和其他语言开发的库连接起来。这就是说,你可以将以其他语言编写的代码包含在你的 Python 源代码中。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

Binder到底是什么?

2023-10-15

图数据库的应用有哪些优点?

2023-10-15

数据库中的视图有什么用?

2023-10-15

最新文章NEW

为什么Python开发世界持续被Django统治那么久?

2023-10-15

数据库丢失数据的原因是什么?

2023-10-15

为什么要用flow?

2023-10-15

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>