Python中一行和多行import模块问题

yipeiwu_com7年前Python基础

Python 不建议用一行 import 所有模块,而是推荐用多行 import 来导入模块。更多的是出于操作便利性的原因,与代码本身无关:

更易于阅读

  • import fred 比 import barney, betty, wilma, fred, bambam, pebbles 更容易找。

更易于搜索

  • 能通过关键词马上 import fred 搜寻到位置,而 import barney, fred 不行。

更易于编辑:

  • 插入和移除更快捷;
  • 每行只声明一个模块,因此你不需要费力去找模块在哪;
  • 移动模块时只需移动整行即可;
  • 复制多个模块到其它 Python 文件时只需复制黏贴几行即可,不用在一行 import 语句里费力找你想要的模块。

多行 import 更易于维护

一旦模块有所修改,你能直接根据报错的行数知道是哪个模块出错了,而一行 import 会很麻烦;

如果漏掉或者添加模块,你还能通过行数和变更位置感知到。

总结

多行 import 更多地是为了方便编辑(复制、粘贴、删除)以及维护,而提到的易于搜索似乎无足轻重,因为多数人应该会把 import 写在 Python 文件开头,搜索文件前部应该是不难的。

相关文章

Python常见MongoDB数据库操作实例总结

本文实例讲述了Python常见MongoDB数据库操作。分享给大家供大家参考,具体如下: MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的...

详解【python】str与json类型转换

在写接口测试框架时。避免不了数据类型的转换,比如强制转换string类型,比如转json类型 str转json python字符串转json对象,需要使用json模块的loads函数...

Python的re模块正则表达式操作

这个模块提供了与 Perl 相似l的正则表达式匹配操作。Unicode字符串也同样适用。 正则表达式使用反斜杠" \ "来代表特殊形式或用作转义字符,这里跟Python的语法冲突,因此...

Python unittest 简单实现参数化的方法

Python unittest 理论上是不建议参数驱动的,其用例应该专注单元测试,确保每个method的逻辑正确。 引用Stack Overflow的一个答案, “单元测试应该是独立的,...

python黑魔法之参数传递

我们都听说,python世界里面,万物皆对象。 怎么说万物皆对象呢?最常见的: > class A: pass > a = A() 我们说a是一个对象。 那么既然是万...