1.搜索路径
import导入模块时,如果报importError:No module named XXX
说明解释器在搜索路径中没有找到对应模块。
sys.path可以查看搜索路径,而sys.path返回的是个列表,要想添加搜索路径,可以使用sys.path.append("D:\\")
sys.modules可以查看当前导入了哪些模块,模块来自哪里,返回的是字典
2.名称空间和变量作用域
三个名称空间:local,global,build-ins
变量先在local找,找不到到global中找,再找不到就去build-ins中找
3.导入模块
import module1
import module2
也可以写成import module1,module2
导入顺序最好是:标准库>第三方库>自定义库
from module import name1,name2从指定模块中导入模块的属性
多行导入,加\:
from Tkinter import Tk, Frame, Button, Entry, Canvas, \
Text, LEFT, DISABLED, NORMAL, RIDGE, END
扩展import(as):
import module ad m
from module import as m1
4.导入到当前名称空间
模块module有变量var,使用from module import var,然后直接通过var访问变量本身。
尽量少用from module import *,因为很可能会覆盖现有的名字
5.目录结构
Phone/
__init__.py
common_util.py
Mobile/
__init__.py
Analog.py
第一种:
from Phone import Mobile
Mobile.Analog.dial("555-1212")
第二种:
from Phone.Mobile import Analog
Analog.dial('555-1212')
第三种:
from Phone.Mobile.Analog import dial
dial('555-1212')
6.阻止属性导入
如果不希望通过from module import *的方式导入属性,在属性前加_