【发布时间】:2011-03-16 12:08:33
【问题描述】:
如果我有一个模块 Test 并且我需要列出其中的所有函数,我会这样做:
import Test
dir(Test)
除非我导入模块,否则我将无法使用其中定义的功能。
但是__builtin__模块中的所有功能都可以不用导入就可以使用。但是如果没有import __builtin__,我将无法执行dir(__builtin__)。这是否意味着我们使用函数而不导入整个模块?
from __builtin__ import zip
和上面的一样吗?但如果我这样做del zip,我会得到
NameError: 名称“zip”未定义
谁能解释一下这种行为?
【问题讨论】:
-
在 CPython 中,您可以在不导入任何内容的情况下执行
dir(__builtins__),但这是 CPython 的实现细节。