第8天,python之路

过了好几天了,没有来写东西,都有点忘了上次卸到哪里了,写到函数了,今天继续

模块(module)和包(package)

  •  模块

就是以.py结尾的文件,就可以叫做脚本

把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)

    •   模块的调用方式:
    • 标准是  import     模块名
    • from     包名     import     ,模块名,函数名
if file_format == 'xml':
    import xmlreader as reader
elif file_format == 'csv':
    import csvreader as reader
data=reader.read_date(filename)

import   模块名   as   自定义名

from     包名     import     模块名   as   自定义名

    •  多模块导入            import     模块名1, 模块名2, 模块名3        

               from     包名     import     函数名1,函数名2,函数名3

from module import *   #把模块中所有的不是以下划线(_)开头的名字都导入到当前位置
  • 模块与脚本的区别:
#编写好的一个python文件可以有两种用途:
    一:脚本,一个文件就是整个程序,用来被执行
    二:模块,文件中存放着一堆功能,用来被导入使用


#python为我们内置了全局变量__name__,
    当文件被当做脚本执行时:__name__ 等于'__main__'
    当文件被当做模块导入时:__name__等于模块名

#作用:用来控制.py文件在不同的应用场景下执行不同的逻辑
    if __name__ == '__main__':

    模块的查找顺序是:内存中已经加载的模块->内置模块->sys.path路径中包含的模块    默认工程文件同级目录下导入

  遵循原则:凡是在导入时带点的,点的左边必须是一个包名。点的左边可以是包,模块,函数,类(它们都可以用点的方式调用自己的属性)

 

  1. 在python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错

  2. 创建包的目的不是为了运行,而是被导入使用,记住,包只是模块的一种形式而已,包的本质就是一种模块

    绝对导入:以glance作为起始

    相对导入:用.或者..的方式最为起始(只能在一个包中使用,不能用于不同目录内)

posted @ 2018-09-23 18:45  haccer  阅读(106)  评论(0)    收藏  举报