一.import 搜索路径
import sys print(sys.path)
路径搜索:
- 从上面列出的目录里依次查找要导入的模块文件
- ' ' 表示当前路径
程序执行时导入模块路径
sys.path.append('/home/itcast/xxx') sys.path.insert(0, '/home/itcast/xxx') #可以确保先搜索这个路径
二.重新导入模块
倘若,更改了已经在 Python shell 中导入的模块,然后重新导入该模块,Python 会认为“我已经导入了该模块,不需要再次读取该文件”,所以更改将无效。
解决此问题的方法:
使用reload()函数
- 在 Python 2.x 中,reload()是内置函数。
- 在 Python 3.0 - 3.3 中,可以使用imp.reload(module)。
- 在 Python 3.4 中,imp 已经被废弃,取而代之的是importlib。
#方法一: import importlib importlib.reload(module) #方法二: from importlib import reload reload(module)
三.循环导入
a模块要导入b模块,而b模块又要到如a模块,这要就会陷入死循环
如何避免:
- 程序设计上分层,降低耦合
- 导入语句放在后面需要导入时再导入,例如放在函数体内导入
四.作用域
A=100 B=200 def test(): a=11 b=22 print(locals())#局部 test() print(globals())#全局
五.==,is
- is 是比较两个引用是否指向了同一个对象(引用比较)。
- == 是比较两个对象是否相等。(值是否相等)