1. import (module)
使用import语句可以直接导入模块。
解释器执行到import语句, 如果在搜索路径中找到了指定的模块, 就会加载它。该过程遵循LEGB作用域原则, 如果在一个模块的顶层导入, 那么它的作用域就是全局的; 如果在函数中导入, 那么它的作用域是局部的。 如果模块是被第一次导入, 它将被加载并执行。
一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。
2. import (module)as (new name)
使用import as语句可以将自己想要的名字替换模块的原始名称。
3. From (module)import (name)
From import语句可以让你从模块中导入一个指定的部分到当前命名空间中。
4. From (module)import *
From (module) import * 需要谨慎使用,如果使用from导入变量,且那些变量碰巧和作用域中现有变量同名,那么变量名就会被悄悄覆盖掉。使用import语句的时候就不会发生这种问题,因为我们是通过模块名才获取的变量名,像module.attr不会和现有作用域的attr冲突。