1、import作用

import跟C/C++中的#include作用有点类似,都是为了调用定义在其他文件中的变量、函数或者类,但实现的区别很大。

C/C++中如果a.cpp include了b.h那么b.h这个文件就原样加到a.cpp文件中去了,这样在b.h中的变量、函数、类就在a.cpp文件中声明了,所以在a.cpp中能够访问。注意,这里的添加是C/C++原文件的添加。

python中如果a.py import了b.py那么不是把b.py的原代码加到a.py中,而是把b.py编译为一个module类型的对象,保存到b.pyc文件中,然后读取到内存中。在a.py中可以调用module对象中的变量、函数、类。其中b.py中的普通语句会在编译的时候被直接执行。

  下面是一个import一个module(更应该说是include一个文件,将文件转换成module对象包含进来。)

module_name.py

print("include module")

name = "jeck"

def func():
print("hello world") class test():
def func(self):
print("class hello world")

测试文件

import module_name      # 将module_name.py编译成module对象包含进来

print(module_name.name) # 调用module对象中的变量
module_name.func() # 调用module对象中的函数
a = module_name.test() # 例化module对象中的类。
a.func()

输出

include module        # 编译时候直接执行了普通语句
jeck # 调用name变量
hello world # 调用func函数
class hello world # 调用test类的func函数

2、import模块的搜索顺序

import module_name

  (1)、先去build_in的模块中去查找

  (2)、build_in中没有找到,就去sys.path中查找,sys.path的路径包括:当前目录、安装python时的依赖位置、环境变量中的PYTHONPATH

  如果要引用直接定义的module,要不把文件放在调用文件相同的目录中,要么把module的存放路径加入到sys.path中,sys.path是一个列表,可以这样添加路径

sys.path.append("/home/ydh/py/lib/")

lib目录为存放自己定义module的路径。

3、import包

import包是import一个目录,然后编译目录下的__init__.py文件,将__init__.py文件编译成一个module对象包含到当前文件中来。

  

最新文章

  1. fzf by ruby
  2. 线程处理模型 由于 SynchronizationContext 引起的死锁问题解决
  3. linux 关于用户与组的操作
  4. Bootstrap carousel轮转图的使用
  5. CSS:权重和层叠规则决定了其优先级
  6. 【android学习4】Eclipse中Clean作用
  7. VBA对象模型(1)
  8. Mapreduce执行过程分析(基于Hadoop2.4)——(一)
  9. Win7 IE故障:APPCRASH,d3d9.dll,c0000005
  10. Lucene的多线程访问原则和同步,锁机制
  11. [转]使用sklearn进行集成学习——理论
  12. POJ-1256 next_permutation函数应用
  13. [JLOI 2015]装备购买
  14. numpy C语言源代码调试(三)
  15. 查看selenium API
  16. Step by Step Guide on Yanhua ACDP Clear BMW EGS ISN
  17. MyBatis 别名标签 & sql的复用
  18. TensorBoard 简介及使用流程【转】
  19. appium简明教程(8)——那些工具
  20. Maven 本地打war包

热门文章

  1. Hive的连接和运行模式
  2. hyperf 如何对AMQP消息进行手动消费?
  3. 关于Vue中根组件与组件树的理解
  4. 大数据安全与RANGER学习和使用
  5. SCALA-基础知识学习(一)
  6. SSRF打认证的redis
  7. C#图片转成流
  8. 前端 | 自定义组件 v-model:Vue 如何实现双向绑定
  9. 配置vscode的C++环境Unexpected GDB output from command "-environment-cd
  10. ThinkPad S5立体声混响以及语音识别