云计算|云计算开发学习笔记:Python3深入模块

来源 : 99API发布 : 2020-08-14 11:28:01访问数 : 2点赞数 : 1

  模块除了方法定义,还可以包括可执行的代码。这些代码一般用来初始化这个模块。这些代码只有在第一次被导入时才会被执行。

  每个模块有各自独立的符号表,在模块内部为所有的函数当作全局符号表来使用。所以,模块的作者可以放心大胆的在模块内部使用这些全局变量,而不用担心把其他用户的全局变量搞混。从另一个方面,当你确实知道你在做什么的话,你也可以通过 modname.itemname 这样的表示法来访问模块内的函数。

  模块是可以导入其他模块的。在一个模块(或者脚本,或者其他地方)的最前面使用 import 来导入一个模块,当然这只是一个惯例,而不是强制的。被导入的模

  块的名称将被放入当前操作的模块的符号表中。

  还有一种导入的方法,可以使用 import 直接把模块内(函数,变量的)名称导入到当前操作模块。比如:

2790f4dbf7ea4dce98d51d55070f4f90.png

  这种导入的方法不会把被导入的模块的名称放在当前的字符表中(所以在这个例子里面,fibo 这个名称是没有定义的)。

  这还有一种方法,可以一次性的把模块中的所有(函数,变量)名称都导入到当前模块的字符表:

7c1fc5f6a2de43c58b5b10dacffc4165.png

  这将把所有的名字都导入进来,但是那些由单一下划线(_)开头的名字不在此例。大多数情况, Python程序员不使用这种方法,因为引入的其它来源的命名,

  很可能覆盖了已有的定义。

  __name__属性

  一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在

  该模块自身运行时执行。

36d5361f17d84a3ea228411c1b7619ed.png

  运行输出如下:

fc2238063d15432e90a65a79f8c918cc.png

  说明:每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。

  说明:__name__ 与 __main__ 底下是双下划线, _ _ 是这样去掉中间的那个空格。


1

电子邮箱:

service@99api.com

联系电话:

17350028402

微信客服:

电子邮箱:

service@99api.com

联系电话:

17350028402

微信客服: