1.在import中省略目录路径和文件字尾
import mod 而不是 import mod.py
2.每一个以扩展名py结尾的python源代码文件都是一个模块。其他的文件可以通过导入一个模块来访问模块中的内容。导入从本质上讲,就是载入另一个文件,并能够读取那个文件的内容。一个模块的内容通过这样的属性被外部世界使用
3.python文件往往有多个模块文件构成,通过import语句连接在一起。每个模块文件是一个独立完备的变量包,即一个命名空间。一个模块文件不能看到其他文件定义的变量名,除非导入这个文件
4.import
导入整个模块
from
获取模块中特定的变量名
imp.reload
不中止python程序的情况下,重新载入模块文件
5.利用sys.modules 来查看导入的模块
6.python模块搜索路径:
程序主目录: 自己定义的模块的名不要与库模块同名,否则在导入文件时,会覆盖库模块
PYTHONPATH目录
标准链接库目录
任何.pth文件的内容
7.通过sys.path 查看python配置的模块搜索路径
8.python可能载入的能够响应import操作的四种文件类型:
源代码文件.py 字节码文件.pyc c扩展模块(linux的.so 文件,Windows的dll文件)以及相同变量名的目录
https://docs.python.org/2/extending/extending.html#a-simple-example介绍了如何import c扩展模块
9.模块就是命名空间,而存在于模块之内的变量名就是模块对象的属性。在模块文件的顶层(也就是不在函数或类的主体内)定义的变量名都是模块的属性。
10.命名空间是作为字典对象存储的,可以通过模块的__dict__属性来获取模块命名空间字典
11.python也会在模块命名空间加入一些新的变量名,例如:__file__指明模块从哪个文件加载而来,__name__指明导入者的名字