# -*-coding:utf-8-*-

 # 模块

     # 模块是一个Python文件,以.py结尾,能让你有逻辑的组织Python代码
     # 可以通过import引入模块
 import Course_5 # 一个模块只会被导入一次,不管引入多少次

 Course_5.printsmt("Test")
 Course_5.printsmt("Test2")

 from Course_5 import printsmt  # 从一个模块导入一个指定部分到命名空间中
 printsmt("test")

     # 搜索路径
         # 当你导入一个模块时,Python解析器搜索模块的顺序是:1.当前目录->2.SHELL变量PYTHONPATH下的每个目录->3.如果都找不到Python会查看默认路径

     # dir() 函数
         # 一个排序好的字符串列表,输出模块里定义过的名字
 print dir(Course_5) # 输出 ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'b', 'changeList', 'changeStr', 'err', 'fruits', 'printDefault', 'printKey', 'printarg', 'printsmt', 'sum']

     # globals()和locals()
 print globals() # 返回所有能在该函数里访问的全局名字
 print locals() # 返回所有能在该函数里访问的名字

     # reload() 函数
         # 当一个模块被导入到一个脚本,模块的顶层部分的代码只会被执行一次,但是当你想重新执行顶层模块里的代码,可以使用reload()函数,该函数会重新导入之前导入过的模块。
 reload(Course_5)

     # Python中的包
         # 包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的Python应用环境,简单来讲,包就是文件夹,但这个文件夹必须存在__init__.py文件,
         # __init__.py用于标识当前文件夹是一个包,通常情况下只需要一个空的文件即可,当然页可以在这里执行包的初始化。

     # Python类、模块和包的区别
         # 前面讲了类、模块和包,这里我们来总结一下类、模块和包有什么区别:
             # 类:因为它在.NET、Java中均有,很容易理解,是对于数据和操作的一种封装,以便后续复用;
             # 模块:可以理解为是一个.py的文件,这个文件里定义了某些函数和变量,当你需要在其他模块中使用这些变量和函数时,直接引入即可;
             # 包:可以理解为是一个目录,我们经常使用import来导入包,包目录下首的第一个文件便是__init__.py,如果一个包的子目录中页包含__init.py,那么它就是这个包的子包了。

最新文章

  1. 微信网页开发之获取用户unionID的两种方法--基于微信的多点登录用户识别
  2. web安全浅析
  3. 448. Find All Numbers Disappeared in an Array
  4. JavaScript学习笔记-简单的欢迎cookie
  5. SercureCRT无法正常连接Ubuntu14.0.4.1的解决办法
  6. CodeForces 12C Fruits
  7. eclipse里maven install时,报错提示jdk为无效的目标版本:1.7
  8. React-Flux 介绍及实例演示
  9. 自定义TypeConverter把基础类型转换为复杂类型
  10. install plugin elasticsearch-analysis-ik
  11. 基于pytorch的CNN、LSTM神经网络模型调参小结
  12. V-bind详细使用
  13. DirBuste 使用
  14. scrapy框架整理
  15. 半屏控制器,view: UIViewController+KNSemiModal
  16. java 基础之--反射详解
  17. react篇章-React State(状态)
  18. ifconfig源码分析之与内核交互数据
  19. php memcache分布式和要注意的问题
  20. 【转帖】Dubbo:来自于阿里巴巴的分布式服务框架

热门文章

  1. 在webstrorm中配置好es6 babel【更新:在webstorm中配置.vue和.vue文件中支持es6】
  2. APP开发过程的优惠券设计及流程
  3. 在redhat6.4上编译z3求解器
  4. PIC EEPROM问题
  5. php常用方法一
  6. day06-08面向对象的三大特性
  7. POI操作Excel的三种Workbook的发展和区别
  8. 洛谷P1046 陶陶摘苹果
  9. MPlayer 开始支持RTSP/RTP流媒体文件
  10. vue与animate.css的结合使用