本文介绍Python中导入模块和包

 #目录:
# 导入模块和包---
# |
# 上级包、上级模块、导入模块和包的init模块-----
# |
# 同级包、同级模块、上级包的init模块、test模块--------
# |
# 下级包、下级模块、同级包的init模块-----
# |
#最下级模块、下级包的init模块 #以test模块为执行模块导入相应的模块
#导入同级模块
import 同级模块#直接导入单个模块并执行该模块
print(同级模块.name)#打印模块中的name属性
print('*'*30) #导入下级模块
# import 下级模块 #不能直接导入同级包下面的模块No module named '下级模块'
# print(下级模块.name)#打印模块中的name属性
#修改方法:
import 同级包.下级模块#导入同级包的下级模块,执行包的__init__模块和导入的模块
print(同级包.下级模块.name)#打印该模块的name属性
print('*'*30) #导入下下级模块
# import 下级包.最下级模块#No module named '下级包'
# print(下级包.最下级模块.name)
# import 同级包.最下级模块#No module named '同级包.最下级模块'
# print(同级包.最级模块.name)
#修改:
import 同级包.下级包.最下级模块
print(同级包.下级包.最下级模块.name)
print('*'*30) #导入上级模块
# import 上级模块#不能直接导入同级包上面的模块No module named '上级模块'’
# print(下级模块.name)#打印模块中的name属性
#修改方法
import 导入模块和包.上级模块#导入再上级包下的上级模块,执行包的__init__模块和导入的模块
print(导入模块和包.上级模块.name)
----------------------------------------------
执行同级模块
同级模块
******************************
同级包的init模块
执行下级模块
下级模块
******************************
下级包的init模块
执行最下级模块
最下级模块
******************************
导入模块和包
执行上级模块
上级模块 导入模块

导入包:

 #导入包
import 同级包 #导入同级包直接导入 # print(同级包.下级模块.name)#module '同级包' has no attribute '下级模块'
# 修改:若要使用包下的某个模块,可以在对应init模块中导入相应的模块 # import 上级包#No module named '上级包'
# import 下级包No module named '下级包'
#为什么找不到对应的包:因为是在内置模块和sys.path中找,在对应的路径中并没有这个包
# 解决:
import sys
print(sys.path)
sys.path.append('E:\\python_work\\导入模块和包')
sys.path.append(r'E:\python_work\导入模块和包\上级包\同级包')
import 上级包
import 下级包 import 导入模块和包
----------------------------------------------------------
同级包的init模块
['E:\\python_work\\导入模块和包\\上级包', 'E:\\python_work', 'E:\\python3.6.4\\python36.zip', 'E:\\python3.6.4\\DLLs', 'E:\\python3.6.4\\lib', 'E:\\python3.6.4', 'C:\\Users\\11373\\AppData\\Roaming\\Python\\Python36\\site-packages', 'E:\\python3.6.4\\lib\\site-packages', 'E:\\python3.6.4\\lib\\site-packages\\requests-2.18.4-py3.6.egg', 'E:\\python3.6.4\\lib\\site-packages\\pymongo-3.6.1-py3.6-win32.egg', 'E:\\python3.6.4\\lib\\site-packages\\easygui-0.98.1-py3.6.egg', 'E:\\python3.6.4\\lib\\site-packages\\jedi-0.12.0-py3.6.egg', 'E:\\python3.6.4\\lib\\site-packages\\parso-0.2.0-py3.6.egg', 'E:\\pycharm\\PyCharm 2017.3.3\\helpers\\pycharm_matplotlib_backend']
上级包的init模块
下级包的init模块
导入模块和包 导入包

Python 3基础教程20-Python中导入模块和包的更多相关文章

  1. Python学习基础教程(learning Python)--2.2.1 Python下的变量解析

    前文提及过变量代表内存里的某个数据,这个说法有根据么? 这里我们介绍一个python内建(built-in)函数id.我们先看看id函数的帮助文档吧.在python查某个函数的帮助文档很简单,只用he ...

  2. Python机器学习基础教程-第2章-监督学习之决策树集成

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  3. Python机器学习基础教程-第2章-监督学习之决策树

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  4. Python机器学习基础教程-第2章-监督学习之线性模型

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  5. Python机器学习基础教程-第2章-监督学习之K近邻

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  6. Python机器学习基础教程-第1章-鸢尾花的例子KNN

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  7. python中导入模块的本质, 无法导入手写模块的解决办法

    最近身边一些朋友发生在项目当中编写自己模块,导入的时候无法导入的问题. 下面我来分享一下关于python中导入模块的一些基本知识. 1 导入模块时寻找路径 在每一个运行的python程序当中,都维护了 ...

  8. Python数据分析基础教程

    Python数据分析基础教程(第2版)(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1_FsReTBCaL_PzKhM0o6l0g 提取码:nkhw 复制这段内容后 ...

  9. Python Numpy基础教程

    Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...

随机推荐

  1. 【luogu P4568 [JLOI2011]飞行路线】 题解

    题目链接:https://www.luogu.org/problemnew/show/P4568 卡了一晚上,算是分层图最短路的模板.注意卡SPFA,所以我写了个SLF优化. 同时 AC400祭!~ ...

  2. Android学习笔记_65_登录功能本身没有任何特别

    对于登录功能本身没有任何特别,使用httpclient向服务器post用户名密码即可.但是为了保持登录的状态(在各个Activity之间切换时要让网站知道用户一直是处于登录的状态)就需要进行cooki ...

  3. Git错误

    $ rm -rf .git $ git config --global core.autocrlf  false $git init $git add . ---------------------- ...

  4. CRS

    CRS是集群就绪服务(cluster ready service)的简称,主要负责集群中的资源管理以及OCR管理.为了与10gR2集群管理软件名称crs区分,这里用CRSD代替CRS.相关概念:--资 ...

  5. Oracle 序列的创建删除插入

    今天学习的是序列的创建蟹盖和删除插入 创建: create Sequence Seq_name increment by n     ----序列变化的程度,默认为1,可以为负数表示递减 start ...

  6. CentOS 7 下 Oracle 11g 安装教程

    一.准备工作 1.关闭selinux   查看selinux状态:   getenforce或者sestatus -v   临时关闭:   setenforce 0   永久关闭:   vim /et ...

  7. 从 React 的组件更新谈 Immutable 的应用

    在介绍 Immutable 如何在 React 中应用之前,先来谈谈 React 组件是如何更新的. React 是基于状态驱动的开发,可以将一个组件看成是一个有限状态机,组件要更新,必须更新状态. ...

  8. BigDecimal运算(加、减、乘、除)

    public class BigDecimalOperation { private BigDecimalOperation(){ } public static BigDecimal add(dou ...

  9. pt-online-schema-change 脚本化

    mysql在线更改表可用工具 pt-online-schema-change 更改,或者用gh-ost更改.pt-online-schema-change 在原表创建索引,跟踪新插入的数据.gh-os ...

  10. Linux-history的用法

    history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...] history的作用是显示或操纵历史 ...