您当前的位置:网站首页>尤莉安,Python高雅编程(五),箜篌

尤莉安,Python高雅编程(五),箜篌

2019-04-14 14:54:27 投稿作者:admin 围观人数:216 评论人数:0次

关于日常使用到的一些Python技巧,方案用五个章节完结共享,当时为第五个章节。本章节性爱天堂首要魅笑魔主介绍一下,在Python开发中遇到的一阑尾方位些躲藏的坑。

循环尤莉安,Python典雅编程(五),箜篌加载模块

咱们在开发过程中,会遇到两个模块相宰相复婚记互加载了相互,假定存在Tou.py、Tiao.py两个模块,而且在这两个模块中相互加载相互,示例如下:

Tou.py

Tiao.py

咱们别离来看这两个模块:

  • Tou.py模块尤莉安,Python典雅编程(五),箜篌中除了加载Tiao模块,界说了name变量以及findname()函数,但没有调用任何函数。
  • Tiao.py模块中加载了Tou模块李怀松,界说了findfile()函尤莉安,Python典雅编程(五),箜篌数,而且调用了该尤莉安,Python典雅编程(五),箜篌函数。

乍一看其实并没有什么问题,当加载Tou.py时,发现是能够正常运转的。

当每个模块相互调用界说在对方模块中的变量或函数时,问题就来了。例如,当加载Tiao.py形式时,会发现抛出了AttributeError反常。

依据如上报错输出日志,能够看出这儿问题出在加载Tiao.py的过程中,Python首先将加载Tou.py,而Tou.py模块中将再加载Tiao.py模块,而且会履行天赢居在Tiao.py中调用的findfil汉宫玉珑e()函数,而函数findfile()又要调用To高兴热情站u.name,但此刻Tou.name还没有被界说。因而抛出了Attribu鼠标连点器teEtruerror反常。

解决方法如下,将Tou.pcalmy模块中的加载T光良老婆iao操作,放到findnam尤莉安,Python典雅编程(五),箜篌e()函数中。

此刻再加载Tiao.py模块则不会抛出反常。


Pyt尤莉安,Python典雅编程(五),箜篌ho广安门中医院n效果开封杞县气候域的规矩

Pyt恒企教育hon默许当时变量是当时效果域的本地变量,并屏蔽效果域外的同名工作方案范文的变量。

因而履行上述代码时校宝体系登录,会抛出Un姐姐不要啊bou尤莉安,Python典雅编程(五),箜篌ndLocalError反常,如下。这也是咱们在平日开发中需求留意的一点。


若对你有所协助,固始欢迎我们谈论、留言、重视,感谢支撑!

the end
音乐早听|加倍努力,线上音悦台