您现在的位置是:首页 > 文章详情

python-模块入门

日期:2018-08-06点击:332

一、模块介绍

模块:模块就是一系列功能的集合体

模块有三种来源: 1.内置模块

  2.第三方的模块

  3.自定义模块

模块的格式: 1使用python编写的.py文件     

  2.已被编译为共享库或DLL的C或C++扩展

  3.把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件称之为包)       

  4.使用C编写并链接到python解释器的内置模块

为何要用模块?

1.使用内置的或者第三方模块的好处是:拿来主义,可以极大提升开发效率

2.使用自定义模块的好处是:可以减少代码冗余(抽取我们自己程序中要公用的一些功能定义成模块,然后程序的各部分组件都去模块中调用共享功能)                 

注: 一定要区分开谁是执行文件,谁是被导入模块       

二、import导入模块

首次导入模块:

1.会产生一个模块的名称空间

2.执行模块文件,将执行过程中产生的名字都放到模块的名称空间中

3.在当前执行文件的名称空间中拿到一个模块名,该名字指向模块的名称空间

后面的导入,都是直接引用第一次导入的成果,不会重新执行文件

spam.money   在执行文件中访问模块名称空间中名字的语法:  模块名.名字(注:模块名应该全部为小写)

指名道姓地跟spam要money  不会与当前执行文件中的名字冲突

为模块起别名  import xxx as x

总结import导入模块:

优点:指名道姓地向某一个名称空间要名字,不会与当前名称空间中的名字冲突

缺点:但凡应用模块中的名字都需要前缀,不够简洁

三、from...import...导入模块

首次导入模块:

1.会产生一个模块的名称空间

2.执行模块文件,将执行过程中产生的名字都放到模块的名称空间中

3.在当前执行文件的名称空间中拿到一个名字,该名字就是执行模块中对应的名字

总结from...import...

优点:使用时,无需再加前缀,更简洁

缺点:容易与当前名称空间中的名字冲突

 

补充:

from xxx import * 导入全部   *代表从被导入模块中拿到所有名字(不推荐使用)

在导入模块时,如果未找到__all__中的成员,抛出attributeError

# __all__ = ['money','read1']

 

焚膏油以继晷,恒兀兀以穷年。
原文链接:https://yq.aliyun.com/articles/642667
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章