一、模块的定义
用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能)
本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test)
包:用来从逻辑上组织模块的,本质是一个目录(必须带有一个__init__.py文件)
 
二、模块的导入
import module_name
import module1_name,module2_name
#相当于将module_name.py文件赋值给module_name
调用时:module_name.funcationname

from module_name import *
from module_name import 变量名/函数名
调用时,直接使用,不用加module_name前缀
此导入方式会引起函数名,变量名在原调用文件中的冲突
from module_name import  func_name/varname as  new_name
此方式可以避免上述重名冲突,使用时用new_name 调用

from . import module_name 从当前目录导入module_name
三、import的本质

导入模块的本质就是把Python文件解释一遍(import test======>test = 'test.py all code')
import module_name ------------>module_name.py------>module_name.py的路径----->sys.path
在sys.py这个列表里查找module_name,找不到抛出错误
 
 
导入包的本质就是解释(执行)该包下的__init__.py文件
import package_name  #run package_name下的__init__.py文件
 
4、导入优化
from module_name import  func_name/varname as  new_name
减少import的检索过程
相当于把模块module_name 下的func_name/varname 拿到当前执行一遍
 
5、模块的分类
a、标准库
b、开元模块
c、自定义模块
 
 
 
 
 

最新文章

  1. 关于MapReduce中自定义Combine类(一)
  2. 接口测试SoapUI参数化
  3. seo与sem的关系和区别
  4. eclipse中无法使用fat.jar
  5. 最新版ffmpeg源码分析
  6. C#位操作符
  7. 如何在Android应用程序中使用传感器模拟器SensorSimulator
  8. Tomcat死机报OutOfMemoryError: PermGen space错误
  9. HDOJ(HDU) 1799 循环多少次?(另类杨辉三角)
  10. swift-数组array
  11. Java的代码风格
  12. Netty自娱自乐之类Dubbo RPC 框架设计构想 【上篇】
  13. Python爬虫(八)_Requests的使用
  14. apache2.4.29安装脚本
  15. Android Layout 01_activity_Login.xml
  16. 【转载】COM 组件设计与应用(九)——IDispatch 接口 for VC6.0
  17. RedisClient的安装及基本使用
  18. telnet ip port
  19. ELK系列--justniffer0.5.12安装报错解决方法
  20. linux的运行模式

热门文章

  1. Struts学习第一课 使用Filter作为控制器的MVC应用
  2. 一款Regular expression在线检测工具
  3. LeetCode第20题:有效的括号
  4. Java数组转置
  5. 39、生鲜电商平台-redis缓存在商品中的设计与架构
  6. Tomcat之NIO 启动与应用分析
  7. 【转】C# String 前面不足位数补零的方法
  8. vue使用webpack压缩后体积过大要怎么优化
  9. 点分治【bzoj1468】 Tree
  10. Jmeter report优化