我有一个GP.py文件,然后我运行MyBot.py文件.
在MyBot.py文件中,我有一行
from GP import *
Run Code Online (Sandbox Code Playgroud)
我怀疑它是导入整个文件而不是我想要的类方法和类描述.在GP.py文件中,除了定义之外还有代码
Bjö*_*lex 13
您不能单独导入类方法,您必须导入类.您可以通过枚举要导入的类来执行此操作:
from GP import class1, class2, class3
Run Code Online (Sandbox Code Playgroud)
请注意,这仍将加载整个模块.如果从模块导入任何内容,则总会发生这种情况.如果您在导入模块时不希望执行该模块中的代码,则可以像这样保护它:
if __name__ == "__main__":
# put code here
Run Code Online (Sandbox Code Playgroud)
只有在直接运行模块时才会执行块内的代码,而不是在导入模块时执行.
_single_leading_underscore:弱“内部使用”指标。例如from M import *,不导入名称以下划线开头的对象。
改用这个:
from GP import SomeClass
Run Code Online (Sandbox Code Playgroud)
如果您想使用,请查看PEP-8(Python 指南)import *
设计用于 via 的模块
from M import *应使用__all__防止导出全局变量的 机制
| 归档时间: |
|
| 查看次数: |
16751 次 |
| 最近记录: |