python - 导入语句之间的 Python 空行约定
问题描述
当我突然对 import 语句的空行约定感到好奇时,我正在用 Python 编写一些代码。
我知道PEP 8 样式指南和空行中指定的典型导入语句约定。但是,我很好奇 import 语句中的空行是否有约定或不成文的规则。
例如,我通常喜欢在 PEP 8 中指定的三个类别(即标准库导入、相关第三方导入、本地应用程序/库特定导入)之间添加一个空行,但我也注意到很多人倾向于不要这样做。每当我输入空行时,我的 PyLint 应用程序甚至会引发警告。
我个人觉得这增加了每个导入库属于什么“类别”的清晰度。我应该遵循某种约定吗?
提前致谢。
解决方案
是的。惯例是将各部分分开。http://github.com/timothycrosley/isort可以提供帮助。
这些部分可能看起来像这样。
from __future__ import absolute_import
import os
import sys
from third_party import (lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8,
lib9, lib10, lib11, lib12, lib13, lib14, lib15)
from my_lib import Object, Object2, Object3
或者,另一个流行但不是通用的约定是只导入模块,而不是类或函数,如Google Python Style Guide中所建议的那样。
from __future__ import absolute_import
import os
import sys
import third_party.module1
import third_party.module2
import my_lib
推荐阅读
- python - 删除给定列中带有字母的行
- python - 为什么 REGEX GROUP 有时将字符串列表视为字符串,有时将其视为列表?
- sql-server - 如何使用 CodeIgniter 查询构建器将数据插入 MSSQL (newid())
- reactjs - Reactjs - 即使在切换选项卡时,请求仍在加载时使按钮保持禁用状态
- power-automate - 如何使基于事件的流程只运行一次
- macos - Jekyll 在 Mac 上服务 - 加载缓慢
- javascript - React:从子组件记录父组件的状态会产生不同的结果
- reactjs - 如何通过在 React 中单击按钮打开 Bootstrap 模式
- vb.net - 在 Task.Run 中调用异步函数
- sql - 通过旧的基于递归的 SQL 存储过程脚本进行调试