python 循环引用的解决方法
创始人
2024-02-14 14:38:20
0

目录

1、问题描述

2、原因

3、示例

4、解决办法


1、问题描述

编写python代码,运行中出现了:‘most likely due to a circular import ’  这样的报错。

2、原因

循环引用问题,即A引用了B,B又引用了A,造成循环引用的问题。

3、示例

 4、解决办法

1)延迟导入:即将 from xxx import yyy 放到函数或类的内部,从而使其作用域变成局部的。但是这样可能会对性能有些影响。

如下图将import TestA放到函数内部,问题得到解决:

2)直接导入模块名,通过模块调用其中的函数

将 from xxx import yyy 转换成 import xxx; xxx.yyy 的形式 。

修改为直接引入模块,在函数内通过 模块.函数 调用解决 :

 3)重新设计代码结构,将代码和并或者分离

方法1)和2)以上两种方式都是治标不治本的,只能说能够用,但是并不符合规范。

最好的办法应该是从代码布局入手,比如合并或分离循环引用的部分,合并就是将代码放到一个文件里面,自然就不用循环引用了分离的话就是将循环引用的部分放到第三个py文件中,这样也可以。

上一篇:进程的调度

下一篇:婚礼上的父亲致辞

相关内容

热门资讯

处理消费纠纷不能止于“喊话平台... 维 辰 政府部门公开喊话互联网平台,少见。 12月23日,丽江市古城区文化和旅游局公开发布《丽江市古...
金能科技:按照国家及当地政策落... 有投资者在互动平台向金能科技提问:“您好,请问公司是否针对员工生育或育儿设有相关的福利或激励政策?如...
AI赋能基层调解 老调解员有了... 今年6月以来,随着许多地方速裁法庭的建立,部分民商事纠纷,从法院前移到综治中心进行调解。各类商业纠纷...
起诉中信证券理财产品违规!获赔... 认购中信证券理财产品逾期超三年,富安娜(002327)追回款项的工作取得进展。 12月25日,富安娜...
释放购房需求、优化贷款政策!北... 24日,北京出台楼市新政,放宽非京籍家庭购房条件,支持多子女家庭住房需求。业内人士认为,北京楼市新政...
952名中国籍涉电诈犯罪嫌疑人... 近日,公安部派出工作组会同缅甸、泰国执法部门在缅甸妙瓦底地区,联合开展新一轮赌诈园区集中清剿行动,9...
报告显示:政策持续推动 全国二... 人民网北京12月25日电 (记者乔雪峰)当前,在以旧换新政策持续推动下,二手车市场正从昔日的区域性交...
字节跳动通报三季度内部违规情况... 红星资本局12月25日消息,今日,字节跳动披露2025年三季度内部违规案例的处理情况。通报显示,三季...
中纪委网站:集中清理规范性文件... 记者从全国人大常委会法制工作委员会法规备案审查室了解到,为破除民营经济发展的各类制度障碍,依法保护民...