优点:
可以捕获容易忽视的错误, 例如输入错误, 使用未赋值的变量等.
缺点:
pylint不完美....有些模块名太长, 不太方便.
结论:
使用 import x 来导入包和模块.
使用 from x import y , 其中x是包前缀, y是不带前缀的模块名....使用 from x import y as z, 如果两个要导入的模块都叫做y或者y太长了.
导入时不要使用相对名称. 即使模块在同一个包中, 也要使用完整包名....这能帮助你避免无意间导入一个包两次.
包
优点:
避免模块名冲突. 查找包更容易.
缺点:
部署代码变难, 因为你必须复制包层次.
结论:
所有的新代码都应该用完整包名来导入每个模块....当捕获异常时, 使用 as而不要用逗号. 例如
全局变量
定义:
定义在模块级的变量.
优点:
偶尔有用.
缺点:
导入时可能改变模块行为, 因为导入模块时会对模块级变量赋值.