您当前的位置:首页 > 计算机 > 编程开发 > Python

Python 在import时明明写的正确,却提示错误AttributeError: module 'test003' has no attribute 'desc�

时间:10-22来源:作者:点击数:

在自己写一个小项目的时候,发现明明自己使用import引入自己项目中的另一个Python文件是正确的写法,在运行的时候却发现总是提示错误。因为笔者本人也是学习Python不久,经过一个小时的琢磨,感觉应该是两个文件循环引用导致错误。比如a.py中有a.tt()和a.uu()两个方法;b.py中有b.xx()和b.yy()两个方法。a.py在使用的时候需要引用b.py()中b.xx的方法,然后在b.py使用的时候需要引入a.py中a.tt()的一个方法。所以在a.py中需要import b,同时在b.py中需要import a。因此自己写了一个小的案例,经过测试确实是循环引用造成冲突所致

在test002.py中写

在test003.py中写

然后随便执行test002或者test003提示

解决办法:

1.即把import语句写在方法或函数里面,将它的作用域限制在局部。这种方法的缺点就是会有性能问题。

2.将from xxx import yyy改成import xxx;xxx.yyy来访问的形式

3.出现循环import的问题往往意味着代码的布局有问题。可以合并或者分离竞争资源。合并的话就是都写到一个文件里面去。分离的话就是把需要import的资源提取到一个第三方文件去。总之就是将循环变成单向。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门