python记录_day25 包

1、包就是一个文件夹

当我们导入一个包的时候,默认执行这个包内的__init__.py文件

在python2中必须写__init__.py文件,python3中可以不写,但是最好也写上

 

代码的结构:

一条语句 --> 语句块 -->代码块(函数,类)-->py文件(模块) -->包

 

2、相对导入和绝对导入

相对导入:相对于当前模块所在的包,使用的时候必须在包外启动  一个点 . 表示当前位置,点点 .. 表示上一级目录

绝对导入:根据包的根目录去导入内容

不管是绝对路径还是相对路径,导入时查找的路径都是依据 sys.path

 

##包的注意事项:

1. 关于包相关的导入语句也分为import和from xxx import xxx两种,但无论使用哪种, 无论在什么位置,在导入时都必须遵循一个原则: 凡是在导入时带点的, 点左边都必须是一 个包,否则报错。可以带一连串的点。比如a.b.c

2. import导入文件时,产生名称空间中的名字来源于文件, import 导包时, 产生的名称空间的名字同样来源于文件,即包下的__init__,py, 导入包本质就是在导入该文件。

3. 包A和包B下有同名模块也不会冲突,如A.a和B.a来自两个名称空间

posted @ 2018-11-20 21:02  南辕北辙的天空  阅读(160)  评论(0编辑  收藏  举报