【发布时间】:2018-02-08 02:19:59
【问题描述】:
在 Java 中,我可以通过引用其完全限定名来调用类或方法而无需导入它:
public class Example {
void example() {
//Use BigDecimal without importing it
new java.math.BigDecimal(1);
}
}
类似的语法显然不适用于 Python:
class Example:
def example(self):
# Fails
print(os.getcwd())
抛开良好做法和 PEP 建议,我可以在 Python 中做同样的事情吗?
【问题讨论】:
-
不,你不能在不导入的情况下调用一个类或方法——你为什么要避免导入?您可以在您的函数中本地导入它,这只是将您的 java 1-liner 更改为 python 中的 2-liner。这是您唯一要避免的事情吗?
-
我喜欢单行代码,因为我正在玩一些基于 AST 的代码注入,我想尽可能少地修改原始模块
标签: python methods module invoke