在导入模块时,模块确实会优先走一遍,如果没有问题则按照代码的顺序由上而下运行。
可以使用pycharm来每行加入断点逐个调试一下,比如我这里写下简单的五行代码测试:
当断点逐个执行时,发现import urllib 会运行两次,第一次就是执行模块,你可以理解为作检测,如果模块没有问题则先缓存到内存里,当有被调用的地方则立马对其做出反馈。然后第二次执行则是作为当前的主py程序里的普通代码来执行,按照代码由上而下的顺序运行。
其实不光模块或者包,自定义类和自定义函数也会优先执行一次的。