1 创建模块:定义模块用文本编辑器,以py为后缀保存。文件命名需遵循python命名规则。
2 模块使用:import / from
import:将整个模块对象赋值给一个变量名
from:将一个或者多个变量名赋值给另外一个模块中同名的对象,或者说深拷贝。
from module import name1,name2
<==>
import module
name1
name2 = module.name2
del module
两个模块有同名属性时,必须用import模块
M.py
def func():
N.py
def func():
import M,N
M.func()
N.func()
3 属性名的点号运算:层级对象访问控制符
4 重载模块:reload函数会使已加载的模块代码重新载入并重新执行,模块中新的代码赋值语句会在适当的地方修改现有的模块对象。reload
5 模块包
除模块名以外,导入也可以指定目录路径,python代码的目录就称为包,此类导入称为包导入。
导入包 import dir1.dir2.mod
__init__.py包文件包导入语句的路径内每个目录都必须有__init__.py这个文件,否则会导致包导入失败。负责包初始化,包首次读取时,会自动执行。
6 高级模块话题
a
b 混合用法模式:__name__ 和 __main__
c 修改模块搜索路径
d import as 扩展 import module as name 等价于
e 相对导入语法
f 模块设计理念:总在python模块内编写代码,模块耦合降低,最大化模块粘合性,模块应避免修改其他模块变量。
g 通过变量名字符串导入模块
h reload不影响from导入,from还是使用最初的变量对象。reload没有传递性,如果reload一个模块,模块中导入另外的模块,另外的模块不会被reload。
来自:http://blog.sina.com.cn/s/blog_4ef2568301016lqv.html
联系客服