一日一技:如何在Python项目中挖坑害人

有不少人在写Python的时候,喜欢这样导入模块:

我今天要告诉你,你这样写就是在给自己挖坑。

我们来看一下这个坑是怎么样的:

首先你创建一个 main.py 文件,内容如下:

现在我们运行一下,发现一切正常。

接下来,创建一个 bug.py ,内容如下:

接下来,修改 main.py ,内容如下:

此时,你会发现一切正常。如下图所示。

好了,我们来挖个坑,再次修改 main.py ,改成下面这样:

现在,函数 anyfunc 正常运行,但是你会发现, datetime.datetime.now() 报错了,如下图所示。

这是因为,当你 frombugimport* 的时候,原来在 bug.py 第一行的 fromdatetimeimportdatetime 导入的 datetime.datetime 对象也会被导入到 main.py 中,此时由于 datetime.datetime 对象和 datetime 模块的名字相同,就会使得 datetime.datetime 对象覆盖了原来的 datetime 模块。所以就报错了。

由于一个大项目很多人合作,可能有些人喜欢

有些人喜欢

如果再遇上一个人喜欢 fromxxximport*

那么恭喜你——卒。

珍爱生命,请禁止使用 fromxxximport* 这种写法。

大家好,我是老表

觉得本文不错的话,转发、留言、点赞,是对我最大的支持。

每日 留言

说说你读完本文感受?

或者一句激励自己的话?

(字数不少于15字)

想进学 习交流

微信 jjxksa888

:简说Python

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章