内容简介:有同学问题关于模块与包的问题,特给新人总结的关于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 上的工具清单
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP 5完全攻略
杜江 / 2010-5 / 79.00元
《PHP 5完全攻略(畅销书升级版)》是目前第一本真正介绍PHP 5及MySQL 5新增语法与功能的中文版本权威宝典!《PHP 5完全攻略(畅销书升级版)》本着精、全、要三宗旨,从理论中延伸,从实践中深入,翔实并完善地描述了PHP 5的开发特性与MySQL 5数据库。《PHP 5完全攻略(畅销书升级版)》分为两大部分,第1部分主要阐述PHP开发的基础知识,如PHP数组与表单处理、PHP 5面向对象......一起来看看 《PHP 5完全攻略》 这本书的介绍吧!