Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python内置模块和内置类型/函数之间的关系是什么?_Python_Built In - Fatal编程技术网

Python内置模块和内置类型/函数之间的关系是什么?

Python内置模块和内置类型/函数之间的关系是什么?,python,built-in,Python,Built In,内置类型和函数可以在不导入的情况下使用,如“列表、dict、打印” 但是内置的moudle在使用之前仍然需要导入,比如'time,sys,gc,math,mmap' 所以它们只是不同的概念,或者内置模块包含内置类型/函数?Python文档直接回答了这个问题: 您正在谈论内置模块。Python文档中直接回答了这个问题: 你说的是内置模块。内置名称空间和内置模块之间没有任何关系。无需导入就可以访问的东西就是这样,因为它被插入到一个特殊的内置名称空间中,可通过使用,而标准库模块是一个特殊的子集,直接编

内置类型和函数可以在不导入的情况下使用,如“列表、dict、打印”

但是内置的moudle在使用之前仍然需要导入,比如'time,sys,gc,math,mmap'


所以它们只是不同的概念,或者内置模块包含内置类型/函数?

Python文档直接回答了这个问题:


您正在谈论内置模块。

Python文档中直接回答了这个问题:


你说的是内置模块。

内置名称空间和内置模块之间没有任何关系。无需导入就可以访问的东西就是这样,因为它被插入到一个特殊的内置名称空间中,可通过使用,而标准库模块是一个特殊的子集,直接编译到Python解释器可执行文件中。它们是“内置”这个词完全没有关联的用法


内置是另一个完全不相关的含义-当您谈到内置类型和函数在不导入的情况下可用时,这实际上是内置名称空间的一个属性,虽然函数显示为仅表示它是用C编写的。

但内置名称空间和内置模块之间没有任何关系。无需导入就可以访问的东西就是这样,因为它被插入到一个特殊的内置名称空间中,可通过使用,而标准库模块是一个特殊的子集,直接编译到Python解释器可执行文件中。它们是“内置”这个词完全没有关联的用法


内置是另一个完全不相关的含义——当你谈论内置类型和函数在不导入的情况下可用时,这实际上是内置名称空间的一个属性,而函数的出现仅仅意味着它是用C编写的。

其他模块不是内置的,不管怎样,它们中的大多数都不是。它们只是标准库的一部分,预计将在大多数安装中提供。内置只是指您不必导入的所有内容—它们在所有模块名称空间中都可用


像sys这样的一些模块是用C实现的,实际上可能是python可执行文件的一部分。但由于并非所有脚本都需要它们的实现,所以它们仍然是命名空间封装的。没有必要让sys.version成为内置模块。

其他模块都不是内置的,不管怎样,大多数模块都不是内置的。它们只是标准库的一部分,预计将在大多数安装中提供。内置只是指您不必导入的所有内容—它们在所有模块名称空间中都可用


像sys这样的一些模块是用C实现的,实际上可能是python可执行文件的一部分。但由于并非所有脚本都需要它们的实现,所以它们仍然是命名空间封装的。不需要将sys.version内置。

内置模块通常被称为标准库,这意味着它们包含在python的每个安装中,但它们并不像内置模块那样内置在解释器中。@BallpointBen:不,标准库是一个不同的概念。某些标准库模块直接编译到Python解释器中,而不是从外部文件加载。这些是内置模块。您可以在中找到它们的名称。大多数标准库都不是内置的。我不认为OP指的是这一点,因为例如,math是一个标准库模块,但不在sys.builtin_module_名称中。也就是说,标准库中的模块不是内置的,这是对的;但我认为OP在调用那些内置模块时说错了。@ballpoint本:那是因为你不在Windows上。在Windows上,数学是内置的。内置模块通常被称为标准库,这意味着它们包含在python的每个安装中,但它们不像内置模块那样内置在解释器中。@BallpointBen:不,标准库是一个不同的概念。某些标准库模块直接编译到Python解释器中,而不是从外部文件加载。这些是内置模块。您可以在中找到它们的名称。大多数标准库都不是内置的。我不认为OP指的是这一点,因为例如,math是一个标准库模块,但不在sys.builtin_module_名称中。也就是说,标准库中的模块不是内置的,这是对的;但我认为OP在调用那些内置模块时说错了。@ballpoint本:那是因为你不在Windows上。在Windows上,math是内置的。time、sys、gc、math和mmap都是Windows上内置的。@user2357112supportsMonica-该术语的使用方式不同。可执行文件中可以内置任意数量的模块。但所有模块都可以使用,无需imp
奥特。它们不是命名空间封装的。Python最早是在类unix系统上开发的,到今天为止,几乎所有的C扩展都在共享库中。内置可能有点历史性,因为在各种系统上构建的确切方法已经改变。时间、系统、gc、数学和mmap都是Windows上内置的。@user2357112supportsMonica-该术语的使用方式不同。可执行文件中可以内置任意数量的模块。但所有模块都可以使用,无需导入。它们不是命名空间封装的。Python最早是在类unix系统上开发的,到今天为止,几乎所有的C扩展都在共享库中。内置模块可能有点历史性,因为在各种系统上构建的确切方法已经改变。还有一个问题,内置模块也列在sys.builtin_module_名称中,因此内置功能/类型也可以被视为内置模块的一部分,对吗?还有一个问题,内置模块也列在sys.builtin_module_名称中,所以内置功能/类型也可以被视为内置模块的一部分,对吗?