导入同名功能会被覆盖吗?

johnyboy325

我想从2个不同的文件中导入2个函数,其中文件具有不同的名称,但函数将具有相同的名称。我要执行第一个功能,然后导入下一个功能并执行该功能。

例如:

from file1 import func

func()

from file2 import func

func()

我的问题是在func的第二次调用时,该函数是否将被file2中的那个函数取代?还是仍使用从file1导入的文件?

这样覆盖它是否安全,或者以不同的名称命名会更好吗?

脑死亡

如果要这样做from foo import func,然后再在同一模块中进行from bar import func,则只需定义func两次即可。但是它只能指向一个值,而这将是最新的值。完成第二次导入后,第一次导入可能也永远不会存在。

为了避免这种情况,您可以通过在导入时分配其他名称来进行导入:

from foo import func as funcFoo

或者,您可以只导入模块,然后使用:

foo.funcbar.func

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章