Python执行简要流程图

      Python执行的简要流程图如上所示,我们刚学Python时,通常会被告知Python是一门解释型的编程语言,但通过上图可知,它并不能完全说成是解释型语言,它先通过编译生成.pyc文件,然后根据.pyc文件解释执行。

        我们可以大致看一下这个过程。先创建a.py,b.py,并且在a.py中import b(为什么这样做呢?因为如果只创建a.py的话,就算我们执行a.py文件也不会看到a.pyc,由上述流程图可知,当一个文件中引用了另一个文件时,被引用的文件就会生成一个看得见的.pyc文件,大家感兴趣的话可以试试)如下图所示

        现在文件夹中只有两个文件,现在我们来执行一下a文件,看会发生什么情况?

         可以看到多生成了一个文件夹,我们下面来看看该文件夹里面究竟是什么?

        文件夹里面其实就是一个b.pyc文件,我们也可以用同样的方法来执行该.pyc文件(注:用cmd这种方式执行.pyc文件时,文件路径中最好不要有中文,会报错),看它得到什么结果 ?

         由上图对比可知,b.cpython-38.pyc的执行结果与b.py的执行结果相同从而印证了b.py先生成.pyc文件再解释执行。

        同理,要想看见文件a的.pyc文件,要么在另一个文件中引用a,要么调用Python中的py_compile包来生成。

        第一次写,自己也不是特别熟悉,与大家共同学习,共同进步!欢迎大佬多多指教!

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我无法提供流程图。然而,我可以为您提供`ThreadPoolExecutor`的工作原理的简要解释。 `ThreadPoolExecutor`是Python标准库中的一个类,用于管理线程池。它允许您在应用程序中创建一个固定大小的线程池,并使用这些线程来执行异步任务。 下面是`ThreadPoolExecutor`的基本工作流程: 1. 初始化线程池:创建一个`ThreadPoolExecutor`对象,指定线程池的大小(即最大并发线程数)和其他可选参数。 2. 提交任务:使用`.submit()`方法将任务提交给线程池。每个任务都是一个可调用对象,可以是函数、方法或其他可调用的对象。 3. 任务队列:线程池会维护一个任务队列,将所有提交的任务加入队列中。如果线程池中的线程正在执行其他任务,则新提交的任务会被放入队列等待执行。 4. 线程分配:一旦有可用的线程,线程池会从任务队列中取出一个任务分配给该线程执行。 5. 任务执行:被分配的线程会调用任务对象的`__call__()`方法执行任务。 6. 完成任务:一旦任务执行完成,线程会返回结果(如果有)并继续等待分配新任务。 7. 线程回收:当不再有需要执行的任务时,线程将返回线程池等待重用。 8. 关闭线程池:当您不再需要线程池时,可以调用`.shutdown()`方法来关闭线程池。该方法会等待所有任务执行完毕,并停止接受新的任务。 请注意,以上是基本的工作流程,实际使用中您可以根据需要进行更多的配置和定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值