if __name__ == "__main__": draw1() run1()为什么 draw1() run1()同时运行
时间: 2023-07-02 13:12:55 浏览: 93
在 Python 中,主程序的执行顺序是从上到下依次执行的。当程序执行到 `if __name__ == "__main__":` 时,会先执行 `draw1()` 函数,然后才会执行 `run1()` 函数。但是,在 `run1()` 函数执行过程中,程序会一直停留在这个函数中,直到函数执行完毕或者发生异常才会返回到主程序。因此,在 `run1()` 函数执行期间,`draw1()` 函数也会同时运行。
如果想要让 `draw1()` 函数在 `run1()` 函数执行完成后再执行,可以在 `run1()` 函数中使用线程来执行 `draw1()` 函数。例如,可以使用 `threading` 模块来创建一个新线程来运行 `draw1()` 函数:
```python
import threading
def run1():
# 线程函数,用于运行 draw1() 函数
def run_draw1():
draw1()
# 创建新线程并启动
draw_thread = threading.Thread(target=run_draw1)
draw_thread.start()
while True:
# 无限循环代码
pass
if __name__ == "__main__":
run1()
```
这样,当程序执行到 `if __name__ == "__main__":` 时,会先执行 `run1()` 函数。在 `run1()` 函数中,会创建一个新线程来运行 `draw1()` 函数,并在主线程中执行一个无限循环。因此,`draw1()` 函数会在新线程中运行,而 `run1()` 函数会在主线程中执行无限循环。这样可以让 `draw1()` 函数在 `run1()` 函数执行完成后再执行。
阅读全文