您好,登录后才能下订单哦!
这篇文章主要介绍“Python包和模块的知识点有哪些”,在日常操作中,相信很多人在Python包和模块的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python包和模块的知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
0、一个模块(module)就是一个py文件,模块的名字就是该文件的名字(不包含后缀)
1、一个 包(package)就是一个文件夹,(Python2规定该文件夹必须包含一个 __init__.py
,Python3没有要求),包名就是文件夹名。
2、按 import 进来的对象不同分为4种场景:
1. import <package> # 导入一个包
2. import <module> # 导入一个模块
3. from <package> import <module or subpackage or object> # 从一个包中导入模块/子包/对象
4. from <module> import <object> # 从模块中导入对象
3、解释器会按照sys.path
列表的顺序来查找被引入的包或模块名字。
>>> import sys
>>> import pprint
>>> pprint.pprint(sys.path)
['',
'C:\\Python\\Python35-32\\python35.zip',
'C:\\Python\\Python35-32\\DLLs',
'C:\\Python\\Python35-32\\lib',
'C:\\Python\\Python35-32',
'C:\\Python\\Python35-32\\lib\\site-packages']
优先加载当前工作目录下的模块,如果你的项目中使用了与内建模块中同名的包或模块名,就会遇到没有xx属性之类的报错提示,新手特喜欢干这种事。
4、你可以操作 sys.path,使得其它路径的文件加入到Path中,使之能被解释器发现。
# test.py
import sys, os
# 当前目录没有hi模块,报错找不到模块
import hi
Traceback (most recent call last):
ImportError: No module named hi
# hi模块所在位置: /data/hi.py
# 将hi所在模块加入sys.path
sys.path.append("/data")
# 可以正常工作了
import hi
5、另外一种加载模块的方法:如果你的模块不在 sys.path 下面,除了第4条建议外,还可以使用 imp 模块中的方法 imp.load_source
import imp
imp.load_source("hi", "C://data/hi.py")
import hi
# 可以自己指定模块的名字,相当与 import hi as h3
imp.load_source("h3", "C://data/hi.py")
import h3
6、import module 时,模块中所有的代码将被执行(类对象,函数对象将被创建,不会被调用),import package 时,__init__.py
文件中的代码也将被执行。
7、模块的 __file__
属性
导入模块时,可以通过模块的 __file__
属性查看模块所在磁盘的路径位置
>>> import requests
>>> requests.__file__
'D:\\Programs\\Anaconda3\\envs\\py_test\\lib\\site-packages\\requests\\__init__.py'
8、永远不要使用 from <module>
到此,关于“Python包和模块的知识点有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。