关于导包问题
2018-08-10 23:52:17来源:博客园 阅读 ()
1.导包其实就是在导包里的__init__文件
以执行文件的sys.path为准(内部的导入是以顶级目录作为开头的,往后一层层找)
1. 什么是包
包就是一个包含有__init__.py文件的文件夹
包本质就是一种模块,即包是用包导入使用的,包内部包含的文件也都是用来被导入使用
2 为何要用包
包是文件夹,那文件夹就是用来组织文件的
# 注意:
# 在python2中,包下必须有一个__init__.py文件,而python3中即便是没有也不会报错
# 首次导入包,发送三件事,
# 1. 以包下的__init_.py文件为基准来产生一个名称空间
# 2. 执行包下的__init_.py文件的代码,将执行过程中产生的名字都丢到名称空间中
# 3. 在当前执行文件中拿到一个名字p1,该p1就是指向__init__.py名称空间的
# 总结包的使用无非注意三点:
# 1. 但凡是在导入语句中带点的,点的左边都必须是一个包
# 2. 导入包就是在导包下的__init__.py文件
# 3. 如果使用绝对导入,绝对导入的起始位置都是以包的顶级目录为起始点
# 4. 但是包内部模块的导入通常应该使用相对导入,用.代表当前所在的文件(而非执行文件),..代表上一级
# 强调:
# 1. 相对导入只能包内部的模块之间互相导入使用
# 2. ..上一级不能超出顶级包
import sys
sys.path.append(r'D:\脱产三期视频\day18\01 包的使用\dir1\dir2')
run.py为执行文件,m1,m2为p1里的文件。m3为p2里的文件
在pgk里的__init__文件使用直接和间接方法导入m1_fn和m2_fn方法
在同层目录下,使用绝对导入和相对导入m1_fn方法
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python常见面试题15道 (附答案)你必须得会 2019-07-24
- 文本分类问题相关原理知识 2019-07-24
- 1.关于Python,你可能不知道的 2019-07-24
- python 之网络编程(基于TCP协议Socket通信的粘包问题及解决 2019-07-24
- 20190710-汉诺塔算法 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash