内容简介:有同学问题关于模块与包的问题,特给新人总结的关于Python包与模块的10个知识清单。0、一个模块(module)就是一个py文件,模块的名字就是该文件的名字(不包含后缀)1、一个 包(package)就是一个文件夹,(Python2规定该文件夹必须包含一个
有同学问题关于模块与包的问题,特给新人总结的关于 Python 包与模块的10个知识清单。
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,除了第5条方法在外,还可以使用 imp 模块中的方法 imp.load_source
import imp
imp.load_source("hi", "C://data/hi.py")
import hi
# 可以自己指定模块的名字,相当与 import hi as h2
imp.load_source("h2", "C://data/hi.py")
import h2
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
9、没有了。
关注公众号「Python之禅」(id:vttalk)获取最新文章
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 前端每周清单第 16 期:JavaScript 模块化现状;Node V8 与V6 真实性能对比
- 新主机配置清单
- 微前端自检清单
- Spring Boot 终极清单
- 五星推荐的系列文章清单
- Windows 上的工具清单
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Mining
Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95
The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!