python导入模块交叉引用的方法
2019/7/14 23:41:11
本文主要是介绍python导入模块交叉引用的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
实际项目中遇到python模块相互引用问题,查资料,终于算是弄明白了。
首先交叉引用或是相互引用,实际上就是导入循环,关于导入循环的详细说明,可见我摘自《python核心编程》第二版的摘抄:Python导入循环方法。
附录给了一种解决交叉引用的方法,试了,不行,但关于交叉引用问题本身说明的很清楚,如果不清楚什么是交叉引用,可看附录一。
循环引用在python圈关注的并不多,语言上没有提供防止循环依赖的机制。
总的来说,应该在总体结构上避免模块之间互相依赖,即:A依赖B,B就不要依赖A,这也是代码重构的一个目标。
对于紧急情况,往往来不及对代码大动。
只要找到导致循环引用的模块(最少两个),把引用关系搞清楚,把某个模块让它在真正需要的时候再导入(一般放到函数里面),或者放到代码的最后导入,这样就可以基本解决模块循环依赖的问题。
一个小窍门:
查看循环引用的报错栈时,会找到两次导入同一个模块的文件。注意在这个附近找。
总结:
在python开发过程中,应尽量避免导入循环(交叉引用),但是,如果你开发了大型的 Python 工程, 那么你很可能会陷入这样的境地。
一些比较靠谱的方法是:
1. 把 import 语句放到方法定义的后面。
2. 将 import 语句移到函数的内部,只有在执行到这个模块时,才会导入相关模块。
以上这篇python导入模块交叉引用的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。
这篇关于python导入模块交叉引用的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程