掌握AI技术必备:Python系列教程详解与应用指南
声明:在人工智能技术的教学过程中,很多同学问了我一些Python相关的问题,所以为了让同学们掌握更多扩展的知识,更好的理解AI技术,我让我的助手负责分享这个系列的Python教程。希望可以帮助到大家!由于这套python教程不是我写的(有时候有时间我也会参与写),所以不像我的AI技术教学那么有趣和幽默,学起来也比较枯燥;但它的知识点还是很到位的,值得一读。 !想要学习AI技术的同学可以点击跳转到我的教学网站。 PS:如果看不懂这篇文章,请先阅读上一篇文章。如果你每天一步步学一点,你就不会觉得困难!

Python 默认只导入一次模块。如果你想强制模块代码重新加载并重新运行,你必须刻意要求Python这样做,即调用reload内置函数。
为什么要费心重新加载模块呢?重载功能可以在不停止整个程序的情况下修改程序的某些部分。例如,启动时必须通过网络连接服务器的系统,就是动态重加载的一个非常重要的应用场景。因为互联网可能会让用户等待一段时间,用户体验不好。再比如,Python经常被用作大型系统的定制语言:用户可以在系统运行时通过编写Python程序来定制产品。当然,并非所有系统都需要这种动态实现,但对于那些需要这种动态实现的系统,模块重载提供了一种易于使用的动态定制工具。
下面通过一个例子来帮助大家学习reload。在以下示例中,我们修改并重新加载模块文件,而不终止交互式 Python 会话。首先,在文本编辑器中编写一个名为changer.py 的模块文件,其中包含以下内容。
message = "First version"
def printer():
print(message)
下面导入并使用该模块。
% python
>>>import changer
>>>changer.printer()
First version
不要关闭此交互式对话框窗口,现在在另一个窗口中编辑模块文件。更改消息变量和打印机函数体:
message = "After editing"
def printer():
print('reloaded:',message)
然后,返回Python交互窗口并重新加载模块以获取新代码。请注意,下面再次导入模块没有任何效果。即使文件已被修改,我们也会收到原始消息。我们必须调用 reload 来获取新版本。
...back to the Python interpreter/program...
>>>import changer
>>>changer.printer() # No effect: uses loaded module
First version
>>>from imp import reload
>>>reload(changer) # Forces new code to load/run
>>>changer.printer() # Runs the new version now
reloaded: After editing