我在名为Prof
的脚本中定义了一个名为AddPntCode90_27.py
的类。它打开一些文件,做一些数学运算,创建输出文件等等。现在我想将该类重新用于另一个程序。但由于AddPntCode90_27.py
不是模块,它总是执行脚本而不是仅导入类。
我做了from AddPntCode90_27 import *
以及from AddPntCode90_27 import Prof
。
我熟悉this article。所以我的问题是:
啊,我正在运行Python 2.7。
答案 0 :(得分:5)
执行所需操作的方法是使用if __name__ == "__main__"
块。请参阅this question。
在脚本中定义类是完全正确的,但是如果不执行脚本就无法导入类,因为它只能通过执行定义类的脚本来实现。类定义不是"编译时声明"在Python中;它们就像模块中的其他所有内容一样按顺序执行。您应该使用if __name__=="__main__"
块来保护在将文件作为模块导入时不想运行的代码。
答案 1 :(得分:0)
您应该使用if __name__="__main__:
成语来检查Python是运行代码还是将代码作为模块导入。