Python:如何导入命名空间的一部分

3 投票
4 回答
1211 浏览
提问于 2025-04-15 13:21

我有一个结构,像这样是可以正常工作的:

import a.b.c
a.b.c.foo()

这个也可以正常工作:

from a.b import c
c.foo()

但是这个不行:

from a import b.c
b.c.foo()

这个也不行:

from a import b
b.c.foo()

我该怎么导入,才能让 b.c.foo() 这个能正常工作呢?

4 个回答

2

在你的'b'包里,你需要加上'import c',这样'c'就可以一直在'b'里面用到了。

2

在编程中,有时候我们需要让程序在某个条件满足时才执行特定的操作。比如说,如果你想让程序在用户输入正确的密码后才允许他们进入系统,这就是一个条件判断的例子。

条件判断就像是在问一个问题:“如果这个条件成立,我就做这件事。”如果条件不成立,程序就会跳过这件事,继续执行后面的代码。

在很多编程语言中,我们使用“if”这个词来表示条件判断。比如:

from a import b
from a.b import c
b.c = c

在这个例子中,程序会先检查条件是否成立,如果成立,就会执行大括号里的代码。如果不成立,程序就会跳过这些代码,继续执行后面的部分。

通过这种方式,我们可以让程序根据不同的情况做出不同的反应,这样就能让程序更加灵活和智能。

9

只需要重命名它:


from a.b import c as BAR

BAR.foo()

撰写回答