简单写一下模块的导入

根据我所学到的知识,python 当中先是def  定义一个函数     如果这个文件当中定义的函数多了 之后  别的文件要用到  a文件当中的函数  就可以导入 a文件  然后 a.函数名字   就可以调用这个函数了。省时省力  

比如说:re   time    os   sys   等等模块就是这样使用的。可以把函数当中工具来看,而模块就相当于装着这些工具的工具箱!

接着写关于 模块的导入  

首先 导入模块的规矩:   一定要把导入模块  放在文件的最上方,因为醒目,方便他人知道你使用了那些模块。   首先导入的是  python  带的模块     第二导入的是  扩展模块  比如需要pip 下载的模块就是。  第三个导入的就是自己写的模块。

导入模块只用导入一次就好了,多次导入是不管用的。因为模块有 sys.modules.keys()  调用模块时,会首先自检是否已经调用了本模块。

那么导入的方法是多样的。  首先是  import  模块名字   那么使用的时候就是  模块名.函数名字()     注意假如模块当中的函数调用了模块当中的变量,那么不管本地是否有一样名字的变量,都不会使用。

import 模块名   as   自己起的名字     也有这样的情况   一方面是解决名字太长 输入问题。更重要的是可以  把多个模块的名字 命名成一个名字   提高了你写的代码的兼容性  

form 模块名字 import  函数名      这种导入的方法好处是 :假如你导入的模块里面有一万个函数名   大大的占用了内存空间  我这样导入 只导入我需要的函数   当然 这个函数也就在我的命名空间当中了  

扫描二维码关注公众号,回复: 4833830 查看本文章

假如我目前的文件有一个重名的函数名  那么导入的模块是不管用的 。 

form 模块名 import *     这种导入方法是讲模块当中所有的函数名字都导入到本文件当中,占用空间。不推荐使用。

from 模块名 import * 和__all__['函数名字',‘变量名字’  ]  是一对  如果模块内没有 all  那么  *   会导入所有的名字

如果有了all  那么只会导入 all 列表当中的名字

附加知识:

写好的一个模块 如果想要在本文件当中使用某个功能,而不想让调用的文件使用   可以使用  

__name__ == '__main__'  方法来判断。

因为命名空间的规则  本模块本文件运行  名字统称为:‘__main__’  有了这一点  那么就可以做判断   !!!!!

# __name__
# 在模块中 有一个变量__name__,
# 当我们直接执行这个模块的时候,__name__ == '__main__'
# 当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字'

猜你喜欢

转载自www.cnblogs.com/dtaxx-99/p/10241706.html