九、Python模块及包的导入

1. .py文件可以当作模块来导入

一个python文件可以有两种用途:
    一:脚本,一个文件就是整个程序,用来被执行
    二:模块,文件中存放着一堆功能,用来被导入使用

python为我们内置了全局变量__name__,
    当文件被当做脚本执行时:__name__ 等于'__main__'
    当文件被当做模块导入时:__name__等于模块名
作用:用来控制.py文件在不同的应用场景下执行不同的逻辑
    if __name__ == '__main__':

2. 什么是模块

模块可以分为四个通用类别: 
1 使用python编写的.py文件
2 已被编译为共享库或DLL的C或C++扩展
3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
4 使用C编写并链接到python解释器的内置模块

3.导入模块

1) import
    import os
    import os,sys
    import spam    #自己写的一个模块
2) from...import...
    与Import的区别是直接使用模块的函数,而不需要该函数的名字

4. 包

“Packages are a way of structuring Python’s module namespace by using “dotted module names”,包就是一个包含有__init__.py文件的文件夹,所以其实我们创建包的目的就是为了用文件夹将文件/模块组织起来
1. 在python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错
2. 创建包的目的不是为了运行,而是被导入使用,记住,包只是模块的一种形式而已,包的本质就是一种模块

复制代码

5.包的导入

1)import
2)from .. import ..
from后import导入的模块,必须是明确的一个不能带点,否则会有语法错误,如:from a import b.c是错误语法
posted @ 2018-01-12 22:06  丢失固执  阅读(230)  评论(0)    收藏  举报