简单写一下模块的导入
Posted dtaxx-99
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单写一下模块的导入相关的知识,希望对你有一定的参考价值。
根据我所学到的知识,python 当中先是def 定义一个函数 如果这个文件当中定义的函数多了 之后 别的文件要用到 a文件当中的函数 就可以导入 a文件 然后 a.函数名字 就可以调用这个函数了。省时省力
比如说:re time os sys 等等模块就是这样使用的。可以把函数当中工具来看,而模块就相当于装着这些工具的工具箱!
接着写关于 模块的导入
首先 导入模块的规矩: 一定要把导入模块 放在文件的最上方,因为醒目,方便他人知道你使用了那些模块。 首先导入的是 python 带的模块 第二导入的是 扩展模块 比如需要pip 下载的模块就是。 第三个导入的就是自己写的模块。
导入模块只用导入一次就好了,多次导入是不管用的。因为模块有 sys.modules.keys() 调用模块时,会首先自检是否已经调用了本模块。
那么导入的方法是多样的。 首先是 import 模块名字 那么使用的时候就是 模块名.函数名字() 注意假如模块当中的函数调用了模块当中的变量,那么不管本地是否有一样名字的变量,都不会使用。
import 模块名 as 自己起的名字 也有这样的情况 一方面是解决名字太长 输入问题。更重要的是可以 把多个模块的名字 命名成一个名字 提高了你写的代码的兼容性
form 模块名字 import 函数名 这种导入的方法好处是 :假如你导入的模块里面有一万个函数名 大大的占用了内存空间 我这样导入 只导入我需要的函数 当然 这个函数也就在我的命名空间当中了
假如我目前的文件有一个重名的函数名 那么导入的模块是不管用的 。
form 模块名 import * 这种导入方法是讲模块当中所有的函数名字都导入到本文件当中,占用空间。不推荐使用。
from 模块名 import * 和__all__[‘函数名字‘,‘变量名字’ ] 是一对 如果模块内没有 all 那么 * 会导入所有的名字
如果有了all 那么只会导入 all 列表当中的名字
附加知识:
写好的一个模块 如果想要在本文件当中使用某个功能,而不想让调用的文件使用 可以使用
__name__ == ‘__main__‘ 方法来判断。
因为命名空间的规则 本模块本文件运行 名字统称为:‘__main__’ 有了这一点 那么就可以做判断 !!!!!
# __name__
# 在模块中 有一个变量__name__,
# 当我们直接执行这个模块的时候,__name__ == ‘__main__‘
# 当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == ‘模块的名字‘
以上是关于简单写一下模块的导入的主要内容,如果未能解决你的问题,请参考以下文章
写Java程序时偷懒简单写java.awt.*;之类导入很多模块会影响性能吗?
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段