模块
模块:.py文件,所有的python脚本都可以作为python模块被调用。
使用关键字 import 或 from xxx import xxx 引用模块
from 包/模块/包.模块/ import 模块/函数/变量 as 别名
import bao #使用包
from bao.m1 import hello
导入模块的多种方式:
import xxx: #导入一个模块的所有成员
import aaa,bbb #一次性导入多个模块的成员。不推荐这种写法,分开写。
from xxx import a: #从某个模块中导入指定的成员
from xxx import a,b,c: #从某个模块中导入多个成员
from xxx import * : #从模块中导入所有成员
import xxx 和 from xxx import *的区别:
第一种方式在使用其中成员时,必须使用模块名。
第二种方式在使用其中成员时,不用使用模块名作为前缀,直接使用成员即可。但是容易产生命名冲突。在后面定义的会把前面的覆盖掉。
from xxx import * 这种模式默认情况下,所有模块里的函数都会被导入
import加载的模块分为四个通用类型:
a.使用Python编写的代码(.py文件);
b.已被编译为共享库或DLL的C或C++扩展;
c.包好一组模块的包;
d.使用C编写并连接到Python解释器的内置模块;
包 :存放模块的一个文件夹,__init__.py
包定义:
包是一个具有层次的文件目录结构,它定义了一个由模块和子包组成的python应用程序执行环境。
包的创建:
创建一个名字为包名字的文件夹并在该文件夹下创建一个__init__.py 文件就定义了一个包。
__init__.py 文件可包含python代码,但通常为空,仅用于扮演包初始化的挂钩、替目录产生模块命名空间以及使用目录导入时实现from *行为的角色。
pyc : 经过Python编译后的py模块文件,执行速度更快。
内置模块、自定义模块、第三方模块
内置函数
sys是python内置模块,修改或调用python解释器的方法
# 将模块的所在路径添加到Python的模块路径中。
import sys
print(sys.path)
sys.path.append("d:\\")
自定义模块
一个模块不能太大 1000-2000行左右
什么是自定义模块:
实际上就是定义.py,其中可以包含:变量定义,可执行语句,for循环,函数定义等等,他们统称模块成员
当模块被引用时,部分功能不执行
if __name__ == "__main__":
print("被引用时不执行!")
第三方模块
pypi网站上有数十万的python第三方模块
阿里云镜像站、华为云镜像站 pypi
pip命令可以下载安装第三方模块
pip install 模块名 # 安装
pip uninstall 模块名 # 卸载
pip list #查看