python学习笔记(四)

 

  模块与包

 python模块,一个.py文件

导入模块的语法:

import importable            importable#可以是包或包中的模块

import importable1,....,importableN

import importable as preferred_Name

第三种语法可能导致名称冲突

一般写在.py文件的起始位置:顺序导入-标准库,第三方库,自己的库

from importable import object as preferred_name

from importable import object1,...,objectN

from importable import( object1 ,...,objectN)

from importable import *   #*代表导入非私有的所有对象

这些语法使得导入的对象是直接可存取的,如果导入大量的对象,可以多行完成;如果模块中有一个全局的__all__变量,其中存放一个变量列表,就导入名称包含__all__变量的所有对象

包就是一个目录,其中包含一组模块和一个__init__.py的文件

 from package import * 从包中导入模块

如 Graphics/

    __init__.py

    Jpeg.py

      Bmp.py

这样Graphics就是一个包

__init__.py中必须增加的必要语句

__all__=["Jpeg","Bmp"]

有了__init__.py我们就可以使用 from Graphics import * 来导入__all__列表中指定的所有模块,所有模块都可以直接访问

 

若使用 from moudle import * 应当在模块本身定义__all__变量,这样就会导入__all__变量所指定的对象

python允许使用包的嵌套

 

 

posted @ 2017-05-23 14:31  尼姑哪里跑  阅读(158)  评论(0编辑  收藏  举报