默认路径:Lib\site-packages
模块与包的概念
1、一个.py文件就可以成为一个模块(Module)
2、为什么要选用模块呢?
代码的封装和共用,因为不可能所有的代码都写在一个文件里面,所以就会有很多个.py文件,那么彼此之间怎么引用的呢,就是通过导入.py,而导入时该文件被称为模块
3、模块的层级关系
模块的上级是包(Package),包的上级还是包,包相当于一个文件夹,区别于目录结构的关键因素是包下面有一个init.py,它可以是空文件
引用模块的方法
1、from 包名 import 模块名:代码中可以直接使用模块名称
(也可以直接导入模块中的方法:from 模块名 import 方法)
2、import 包名
代码在引用时需要加.号,即包名.模块名,多级包目录就用多个.号
3、import 模块名
前提:模块和当前py文件在同一目录
模块别名
import 模块名 as 别名:后续代码就可以使用别名来代替模块名了
模块别名.png使用场景:比如版本升级导致这个模块包名和升级后的不一样,使用别名后代码内部不用改
比如说 python2 用的是import stringIO as A ,到了Python3,stringIO已经变成IO了,import IO as A,这样其余代码引用A的方法、函数就不会报错了
引包错误
如图所示:代码中引用的requests模块,运行程序时却提示“AttributeError: module 'requests' has no attribute 'get'”,这个错误与Python的引包机制有关
引包错误.png原因:文件命名与引用的模块一样了,可能是自引用,也有可能是程序所在目录下出现了重名文件或目录
PS:当在程序中“import”一个模块或库时,Python首先会查找当前目录下是否存在同名的Python文件,若存在则会优先引用当前目录下的同名文件
所以呢,在给编写的程序文件命名时一定要注意
网友评论