作为一个初学者,我理解的是Python标准库(PSL)提供了许多提供许多功能的模块,但是如果我想使用它们,那么我必须导入模块,例如{ {1}},sys
等是PSL模块,但仍然需要导入。
现在,我想知道是否是这种情况,那么如果不导入任何内容,我可以使用os
,print
,list
等功能?他们的支持是否内置于翻译中?#34;?
答案 0 :(得分:4)
是。它们是内置函数(或者在list
的情况下,内置类)。如果您想要对名称进行限定访问,则可以显式导入the __builtin__
module(Py2)或the builtins
module(Py3),但默认情况下,只要尝试访问全局名称,就会搜索这些模块。在模块全局中找到名称。根据文档,他们通常不需要它们:
大多数应用程序通常不会显式访问此模块,但在提供与内置值同名的对象的模块中可能很有用,但其中还需要内置该名称。
答案 1 :(得分:3)
print
函数来自builtins
模块。
您可以找到其文档here。
这是一个示例会话。
我首先检查print
来自哪个模块,该模块存储在其__module__
属性中。
然后,我导入builtins
模块,并检查其print
函数是否与无前缀print
相同。
>>> print.__module__
'builtins'
>>> import builtins
>>> builtins.print("hello")
hello
>>> print is builtins.print
True
答案 2 :(得分:2)