导入在 main() 函数中具有所有功能的模块
Importing modules that have all its functions inside a main() function
我阅读了下面给出的答案:
Why use def main()?
似乎更好的做法(?)是在创建模块时将所有代码放在 main()
函数中以避免在导入时执行它。
但是同时,当我把我所有的函数都放在main()
里面并且我想把它导入到另一个程序中时,我该如何调用所有这些函数呢?
这样做似乎适得其反,但显然我理解错了,所以我很感激能得到的任何帮助。
编辑:如果我理解了请告诉我,我们没有在 main() 中放置任何实际函数,它们是独立的函数。唯一会进入其中的是 __main__
部分?例如:
计划test.py
:
def my_function():
print('Hello')
def my_function2(num):
return num*num
print('Hi')
已修改test.py
def my_function():
print('Hello')
def my_function2(num):
return num*num
def main(): #so it doesn't execute when imported
print('Hi')
这是您使用 main()
的准确方法吗?
main()
通常 调用 您的其他函数但不 包含 它们。您的其他功能将位于上面的脚本主体中 main()
并且可以以标准方式调用。
因此您的 test.py
示例可能如下所示:
def my_function():
print('Hello')
def my_function2(num):
return num*num
def main():
my_function()
my_function2(5)
if __name__ == "__main__": # if module not imported
main()
您在下面的块中调用要执行的函数。假设这些函数已经在您的模块顶部定义
if __name__=="__main__":
call your functions you want to execute
我阅读了下面给出的答案:
Why use def main()?
似乎更好的做法(?)是在创建模块时将所有代码放在 main()
函数中以避免在导入时执行它。
但是同时,当我把我所有的函数都放在main()
里面并且我想把它导入到另一个程序中时,我该如何调用所有这些函数呢?
这样做似乎适得其反,但显然我理解错了,所以我很感激能得到的任何帮助。
编辑:如果我理解了请告诉我,我们没有在 main() 中放置任何实际函数,它们是独立的函数。唯一会进入其中的是 __main__
部分?例如:
计划test.py
:
def my_function():
print('Hello')
def my_function2(num):
return num*num
print('Hi')
已修改test.py
def my_function():
print('Hello')
def my_function2(num):
return num*num
def main(): #so it doesn't execute when imported
print('Hi')
这是您使用 main()
的准确方法吗?
main()
通常 调用 您的其他函数但不 包含 它们。您的其他功能将位于上面的脚本主体中 main()
并且可以以标准方式调用。
因此您的 test.py
示例可能如下所示:
def my_function():
print('Hello')
def my_function2(num):
return num*num
def main():
my_function()
my_function2(5)
if __name__ == "__main__": # if module not imported
main()
您在下面的块中调用要执行的函数。假设这些函数已经在您的模块顶部定义
if __name__=="__main__":
call your functions you want to execute