声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

模块会在第一次import或from时载入并执行,并且只在第一次如此。这是有意而为之的,因为该操作开销较大。在默认的情况下,Python只对每个文件的每个进程做一次操作。之后的导入操作都只会取出已加载的模块对象。

下面创建一个文件simple.py。

print('hello')

spam = 1        # Initialize variable

此例中,print和=语句在模块第一次导入时执行,变量spam也在导入时初始化:

% python

>>>import simple        # First import: loads and runs file's code

hello

>>>simple.spam          # Assignment makes an attribute

1

第二次和其后的导入并不会重新执行此模块的代码,只是从Python内部模块表中取出已创建的模块对象。因此,变量spam不会再进行初始化:

>>>simple.spam = 2    # Change attribute in module

>>>import simple      # Just fetches already loaded module

>>>simple.spam        # Code wasn't rerun: attribute unchanged

2

当然,有时需要一个模块的代码导入后再一次运行。我们将会在稍后介绍如何使用内置函数reload时来实现这种操作。

点赞,关注,谢谢!