为什么我必须从标准库导入某些东西,如datetime等,但不必导入print(),len()等...?

时间:2017-09-30 14:10:31

标签: python python-3.x

为什么我在编写程序时不能包含这些内容?我觉得像standard library这样的某些datetime函数经常被使用,在需要的时候继续使用importing会很麻烦。

1 个答案:

答案 0 :(得分:1)

认为datetime经常被使用以保证它内置于该语言中。然而, I 几乎没有在我编写的代码中使用它。

作为内置内容包含的内容在某种程度上是主观的,并且决策可能会随着时间的推移而发生变化。一些例子:

  • {3}} print语句被“降级”为Python 3中的内置函数。
  • {3}将reduce函数从内置函数降级为Python 3中的库函数(在functools模块中)。
  • {2}中的apply函数作为内置函数被删除;据我所知,它在Python 3中根本没有添加到标准库中。
  • {3}模块中的某些函数在Python 3中被有效地提升为内置状态;例如,内置itertools不再是函数,而是一个类,其实例类似于map的返回值。
  • 矩阵乘法以前只由自定义库例程提供;在Python 3.5中,一个特殊的运算符itertools.imap添加了相应的魔术方法@。 (实现仍然需要逐个类添加,但框架内置于该语言中。)