Python 知识要点:模块

【概念】

  • 每个以扩展名 .py 结尾的Python源文件都是一个模块。
  • 模块名同样也是一个标识符,需要符合标识符的命名规则。
  • 在模块中定义的全局变量,函数,类都是提供给外界直接使用的工具。
  • 模块就好比是工具包,想使用这个工具包中的工具,就需要先导入这个模块。

 

【两种导入方式】

1. import 模块名

  一次性把模块中的所有工具全部导入,通过 模块名或别名 访问

  使用 as 指定模块的别名,import 模块名 as 模块别名(大驼峰命名规则)

2. from 模块名 import 工具名

  从模块导入某一个工具

  导入后不需要通过模块名就可直接用模块提供的工具(全局变量,函数,类)

若两个模块存在同名的函数,那么导入模块函数会覆盖掉先导入的函数。

 

【模块的搜索顺序】

1. 搜索当前目录下指定模块名的文件,如果有就直接导入。

2. 如果当前目录没有,在搜索系统名录。(开发时给文件起名,不要和系统的模块文件重名

Python中每一个模块都有一个内置属性 __file__ 可以查看模块的完整路径

 

【开发原则】

每个文件都应该是可以被导入的

一个独立的Python文件就是一个模块

再导入文件时,文件中所有没有任何缩进的代码都会被执行一遍

实际开发中,每个模块都是独立开发的,大多都有专人负责。开发人员通常会在模块下方增加一些测试代码。

测试代码仅在模块内使用,而被导入其他文件中不会被执行。

__name__,可以做到测试模块的代码只在测试下被运行,被导入时不会被执行

  • 是Python的一个内置函数,记录着一个字符串
  • 若是被其他文件导入,__name__就是文件名
  • 若是当前执行的程序(模块),__name__是__main__

if __name__ == "__main__"

  print("只在自己模块内执行")

 

【包 Package】

包是一个包含多个模块的特殊目录

目录下有一个特殊的文件 __init__.py

包名的命名方式和变量一样,小写字母_数字

使用 import 包名可以一次性导入包中所有的模块

__init__,外界要使用包中的模块,需在 __init__.py 中指定对外界提供的模块列表

__init__是一个空文件,将它放在某个目录中,就可以将该目录中的其它 .py 文件作为模块被引用

 

【发布模块】

将开发的模块分享给其他人

1. 制作发布压缩包步骤

  • 创建 setup.py (参数信息)
  • 构建模块  $ python3 setup.py build
  • 生成发布  $ python3 setup.py sdist

2. 安装模块

  • $ tar -zxvf  message.tar.gz    解压压缩包
  • $ sudo python3 setup.py install  安装模块

3. 卸载模块

  • 直接从安装目录下吧安装模块的目录删除就可以

 

posted @ 2020-06-29 22:06  颗粒成仓  阅读(135)  评论(0编辑  收藏  举报