做网站不签合同,wordpress如何设水印图片,wordpress电影站模版,在excel表里做网站模板这几天在跑一个开源代码时#xff0c;发现#xff0c;通过pdb断点不起作用#xff0c;经过一番检查#xff0c;发现代码运行时甚至没有进入main函数,就开始一顿操作. 然后定位到是在执行import操作的时候发生了冗余操作.
经过进一步的检查发现#xff0c;是下…这几天在跑一个开源代码时发现通过pdb断点不起作用经过一番检查发现代码运行时甚至没有进入main函数,就开始一顿操作. 然后定位到是在执行import操作的时候发生了冗余操作.
经过进一步的检查发现是下列代码发生了冗余操作,而这一行代码的含义是: 从show.py 中引入show() 函数.
from show import show
而实际上,show.py中有大量顶层代码,如下图. 可以想象,可能是开发者在代码开发时基于show()函数进行了很多调试,
print(Hi)
print(Hi)
print(Hi)
print(Hi)
print(Hi)
print(Hi)def show():而当其他文件调用该模块时即使是from show import show show.py中的顶层内容也会被全部调用。
从开发者的角度当时这样的操作没有造成明显的问题但是作为使用者这样的写法会造成对于程序的理解和执行很大的干扰因此我们还是建议将每个模块的可执行部分,避免全局变量和和顶层代码将模块的调试部分封装到模块的main函数中如下
def show():print(show function)def main():show()print(Hi)print(Hi)print(Hi)print(Hi)print(Hi)print(Hi)if __file__ __main__:main()