python11-模块、包、库
链接:https://mp.weixin.qq.com/s/qfIDs9avoxsrDplrrhGdvQ
1,模块
- 定义:模块,英文为Module,本质上是一个Python程序,以.py作为文件后缀。模块内部包含变量、函数和类,Demo.py可以看做为一个模块。模块的名称为.py文件的名称。通过使用模块,可以提高代码的可维护性和可重用性,除此之外,可以避免类名、函数名和变量名发生冲突。
- 导入方式:在python编程时,使用模块中的变量、函数和类,就必须要先导入模块,模块的导入方式可分为直接导入、重命名和部分导入三种。
# 直接导入 import Demo #重命名 import Demo as NewDemo # 部分导入 from Demo import Code
- 程序入口:python程序入口可以理解为Java、C、C++语言中的main函数,用if __ name __ =='__ main __'表示。python作为脚本语言,程序运行都是从上往下执行的,所以程序入口也并不是必须有的。用这句代码语句的意义是.py文件被直接执行时,该代码语句之下的代码将被执行;当.py文件以模块形式被导入时,该代码语句之下的代码将不被执行。
2,包
- 定义:包,英文名为Package,是一个有层次的文件目录结构,由n个子包或者n个模块组成。老的python版本中会包含__ init __.py文件,用于表示该文件夹是一个python包,python3.8版本以上,不需要再额外专门创建。(project/整个项目-module/项目中的特定功能-package/实现功能的各组件)
- 导入方式:包采用包名.子包名.模块名.成员名的调用形式,导入方式也是直接导入、重命名和部分导入三种。
# 直接导入 import Game.Image.open #重命名 import Game.Image.open as NewGame # 部分导入 from Game.Image.open import *
- __ init __.py作用:__ init __ .py文件本身也是一个模块,但是该模块的名字不是 __ init __ ,而是这个包的名字。__ init __.py文件在python老版本中用于表明该文件夹是包,新版本中该文件可有可无,可以放一些python初始化代码,当包被import的时候,这些代码会自动被执行(比如从子包中引入模块,这样可以通过调用包直接调用相应的模块)。
3,库
- 定义:库,英文为library,在Python语言中没有特别具体的定义,具有某些功能的模块和包都可以称为库。库可以大体分为标准库、第三方库和自定义库。
- 标准库:标准库就是python自带的组件,组件涉及的范围也十分广泛,可分为时间类、数据结构类、线程、进程类、文件、系统操作类、网络类、数学类等。
- 第三方库:第三方库就是第三方公司开发的组件,组件几乎覆盖所有领域。第三方库跟标准库的区别是第三方库使用前要先进行安装配置。本文主要介绍跟数据分析、挖掘相关的一些第三方库。
- 自定义库:自定义库就是自己定义模块或者包。
- 标准库:标准库就是python自带的组件,组件涉及的范围也十分广泛,可分为时间类、数据结构类、线程、进程类、文件、系统操作类、网络类、数学类等。
4,Python模块及不同目录下导入模块方法
行动是治愈恐惧的良药,而犹豫拖延将不断滋养恐惧。