当我用 Python 编程并且需要导入多个模块时,我通常会这样做:
import random, time, matplotlib, cheese, doge
然后当我阅读别人的代码时,我看到的是:
import random
import time
import matplotlib
import cheese
import doge
这是为什么?这两种风格有什么区别吗?
最佳答案
每行一个导入的做法在 PEP8 中标准化,并且遵循一个共同的标准就足以像其他人那样做。遵循通用标准遵循 Principle of Least Astonishment ,让熟悉标准的人更容易阅读和修改您的代码。
即使您不关心 PEP8,每行导入一次也会使您的代码更易于维护。
导入更容易浏览/阅读:
- 在
import fred
中比在import barney, betty, wilma, fred, bambam, pebbles
中更容易看出你得到了一个fred
>
- 在
导入更容易定位:
- 搜索“import fred”将找到
import fred
和import fred, wilma, pebbles
,但不会找到import barney, fred
- 搜索“import fred”将找到
导入更易于编辑:
- 在大多数编辑器中插入和删除整行都很快。
- 每行只有一个模块,因此您无需在行中搜索即可找到要编辑的内容 - 它在末尾。
- 在模块内重新定位导入只是移动整行。
- 将几个导入中的一个复制到另一个 Python 模块是一行的复制粘贴, 而不是复制粘贴然后删除您不想要的其他导入。
导入更容易维护:
- 每个更改的模块在更改集中都有自己的行 - 您无需阅读一行即可确定哪个或哪些模块发生了更改。
- 缺少和添加的模块会影响文件和变更集中的行数。
- 在更改集的视觉浏览中更容易识别和更正拼写错误。
即使不是标准,每行一次导入也是个好主意。因为它是标准,所以它是最好的选择。
关于python - 在一条线上进行多次导入有什么不好的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24271961/