本文主要是介绍Python中模块化与包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
模块化与包
- 模块的定义:所有以.py结尾的Python源代码文件都是一个模块
- 模块名也是个标识符。可以由字母、下划线和数字组成(注意:不能以数字开头,不能与关键字重名)
- 模块就像工具包,要想使用这个工具包中的工具,就需要使用import导入这个模块
- 在模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具
- 包的定义:在一个文件夹下面存在一个
__init__.py
的文件,那么该文件夹就是一个包。__init__.py
文件为包上定义的内容。在包加载时会同步被加载。- 包文件夹下面可以存在多个子包或模块。
- 目录可以作为模块,这就是包,不过代码需要写在该目录下
__init__.py
中
- 一般来说,编程语言中,库、包、模块是同一种概念,是代码组织方式。
- Python中只有一种模块对象类型,但是为了模块化组织模块的便利,提供了"包"的概念。
- 模块module,指的是Python的源代码文件。
- 包package,指的是模块组织在一起的和包名同名的目录及其相关文件。
导入语句
语句 | 含义 |
---|---|
import 模块1[,模块2…] | 完全导入 |
import … as … | 模块别名 |
-
import 语句
- 找到指定的模块,加载和初始化它,生成模块对象。找不到,抛出异常
- 在import所在的作用域的局部命名空间中,增加名称和上一步创建的对象关联
-
简单示例
-
import functools 表示将functools导入当前作用域中
import functools #导入模块functools
print(dir()) #查看当前作用域的命名名空间
print(functools) #<module 'functools' from 'D:\\Application\\python\\ping\\lib\\functools.py'>
print(functools.wraps) #<function wraps at 0x000002969469EE18>
- import os.path #导入os.path,在导入的同时,会将os和os.path加入当前命名空间
import os.path #导入os.path,os加入当前名词空间
import sys
print(dir()) #[...,'os']
print(os)
print(os.path)
print(sys.modules.keys()) #查看系统已经加载的模块
- import os.path as osp #导入os.path并赋给osp
import os.path as osp # 导入os.path并赋给osp
print(dir())<
这篇关于Python中模块化与包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!