Python 模块使用全解析
1. Python 模块概述
Python 模块是 Python 程序的高级组件,具有模块化的特点。它们可以与其他模块组合,实现代码的分离,同时共同构成一个完整的应用程序。模块有诸多优点,比如便于代码的复用,并且每个模块都有独立的命名空间,可避免代码块之间的变量冲突。
在 Python 里,开发者创建的每个 Python 文件都可视为一个独立的模块,这些模块能被导入到一个主文件中,形成最终的应用程序。实际上,只要去掉 .py 扩展名,任何 Python 文件都能成为模块,这在导入库时很常见。Python 包则是模块的集合,特殊之处在于包含 __init__.py 文件。
2. 使用和导入模块与命名空间
- 命名空间的概念 :命名空间(也叫作用域)是模块或模块组件的控制范围。通常,模块内的对象在模块外不可见,若尝试调用其他模块中的变量,会引发错误。命名空间还用于隔离同一程序内的对象,例如函数内定义的变量,仅在该函数内可见,从其他函数调用会出错。这也是全局变量存在的原因,它可被任何函数调用和交互,但由于可能在未察觉的情况下被修改,导致程序后续出错,所以最佳实践中并不推荐使用。
- 作用域的查找流程 :作用域的查找是从内向外进行的。当在函数中调用变量时,Python 解释器会先在该函数内查找变量声明,若未找到,会向上查找全局定义的变量,若仍未找到,会查找内置库,若还是找不到则会抛出错误。其流程如下:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



