为什么 python 使用模块,而不是只包含主要语言中的模块函数。这将非常有用且非常简单,尤其是对于主要的随机、re 和 os。如果 Python 宣扬简单和极简主义,为什么还要编写额外的代码行?
请您参考如下方法:
1) Zen of Python #19:“命名空间是一个非常棒的想法——让我们做更多!”
命名模块很好,因为它们消除了同名函数之间发生冲突的任何可能性。如果一切都是内置的,那么 os.error() 就会与 logging.error() 发生冲突(天哪,禁止你尝试定义自己的名为 error 的函数()!)
同上内置的 int() 函数和 random.int() 函数。您必须将后者写成 random_int(),这与模块语法一样多。为什么不显式命名空间并使用模块?
这与语法 from os import * 不受欢迎的原因相同 - 它会污染您的 namespace 并引入令人兴奋的名称冲突错误的机会。
2) 谁来决定什么是内置函数,什么是模块?
您个人编写的大多数程序都涉及os 和re。就我个人而言,过去三个月我编写的每个脚本都涉及 sqlite3、csv 和 logging。这些是否应该作为任何 Python 程序员编写的每个程序的内置函数包含在内?
一段时间后,您的内置列表变得比 Ben Hur 还要大。
