在Python中,当我们导入一些内容时:
import Module
当我们后来想要使用模块中创建的函数时我们必须说
Module.foo()
有没有办法“附加”模块,以便我只需拨打
foo()
它知道我的意思是使用Module中定义的foo,只要名称不与当前文件中的任何名称冲突?
答案 0 :(得分:1)
from Module import *
除非__all__
覆盖,否则会导入模块中的所有符号。
您还可以显式导入(更好)仅实际需要的符号。
from Module import foo
通常首选使用后者。更好的是将模块用作命名空间。 Module.foo()
与foo()
没有任何问题。一旦你的程序变得相当大,这将有助于你进行重构。
答案 1 :(得分:1)
您可以template <typename T>
struct D {
T t;
arrow<T> f() { return apply_arrow(t); }
};
,然后直接参考from module import foo
。