我有一个python脚本,我纯粹用作模块。它有一个类和一些其他函数,使用:
导入到另一个python脚本from module import *
模块看起来像这样:
class myClass:
def __init__(self, something):
def someGetter(self):
return whatever
def someSetter(self):
def someSupportingFunction():
return whatever
def someOtherSupportingFunction():
return whatever
def main():
pass
if __name__ == '__main__':
main()
我使用的脚本同时使用了脚本中包含的类和其他函数。
这是否是实现不需要通过命令行使用的模块的合理方法?如果没有,那么实施它的最佳方式是什么?
根据我的阅读,使用*进行通配符导入是不受欢迎的。感谢。
答案 0 :(得分:5)
如果您不需要主功能,请不要定义主功能,也不要调用它。没有要求有一个名为main
的函数,如果你确定了一个,它没有特殊的状态,除非你自己调用它,否则不会被调用。
只需移除代码的最后五行(def main
和if __name__...
)。
答案 1 :(得分:1)
主要方法和全局变量名称是可选的。如果不存在,python解释器不会抱怨。
def main():
pass
if __name__ == '__main__':
main()
那么什么是__name__
?
__name__
python文件中的全局变量*.py
定义了程序的入口点。如果它在那里并且当您执行“this file”作为主python程序时,那么if子句__name__ == '__main__'
中的任何逻辑都将被执行,否则它将被忽略。
因此,这段代码是否存在并不重要,因为它只是一个类结构。