如何从python中导入的函数返回主程序?

如何从python中导入的函数返回主程序?,python,function,Python,Function,我正试图从导入的函数返回主程序。 我的情况是这样的: main program || \/ imported function || \/ imported function (2) import pygame, sys from pygame import* def main(): while True: events = pygame.event.get() for event in events:

我正试图从导入的函数返回主程序。 我的情况是这样的:

main program
     ||
     \/
imported function
     ||
     \/
imported function (2)
import pygame, sys
from pygame import*
def main():
    while True:
        events = pygame.event.get()
        for event in events:
            if event.type == pygame.MOUSEBUTTONUP:
                import function
print('something')
#do stuff
import function2
现在我想从第二个导入的函数返回到主程序

main program  <=========\\
     ||                 ||
     \/                 ||
imported function       ||
     ||                 ||
     \/                 ||
imported function (2) ==//
我的函数如下所示:

main program
     ||
     \/
imported function
     ||
     \/
imported function (2)
import pygame, sys
from pygame import*
def main():
    while True:
        events = pygame.event.get()
        for event in events:
            if event.type == pygame.MOUSEBUTTONUP:
                import function
print('something')
#do stuff
import function2
我的第二个功能几乎相同:

print('something')
#do stuff
'''
now I want to go back to the main program
'''

我猜你的意思是你在主程序中调用一个函数,它来自于你导入的代码,子例程将执行,然后你在主程序中的代码将继续运行,例如,如果我导入时间库,然后调用一个函数,例如

var = datetime.datetime.today().weekday()

这将返回一个整数,表示一周中的某一天,然后在主程序中调用time子例程的代码将继续运行。要获得更多导入的函数,只需调用它们(第一次回答一个非常抱歉的问题)。

如果我理解正确,您不需要做任何额外的事情——当您从外部模块调用函数时,您将恢复执行。这样想吧——每个函数的末尾都有一个隐式的
返回。它又回到哪里去了?所谓的范围。下面是一些代码来演示我的意思:

import sys;

sys.stdout.write('This calls a function in the system module, leaving your main program.')
print('And its back')
输出:

这将调用系统模块中的一个函数,离开主程序

main program  <=========\\
     ||                 ||
     \/                 ||
imported function       ||
     ||                 ||
     \/                 ||
imported function (2) ==//
它的背呢


从模块中调用函数后,主程序将继续执行(如果该函数不
sys.exit
)。或者你只是想要一个
而不是True
的循环?你必须澄清你的意思。你在写什么样的程序?我在很多业余的文本冒险中看到过这种代码结构,这通常是个坏主意,因为当用户浏览999个房间,Python达到最大递归深度时,整个过程就会崩溃。为什么要直接从“导入的函数2”返回到“主程序”?你能举例说明这些函数是什么吗?通常,如果你想要这样的回报,这表明你选择了一种糟糕的方式来构建你的程序。