python - 导入同名函数会覆盖吗?
问题描述
我想从 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.func
和bar.func
推荐阅读
- reactjs - 使用中间件对每个动作调度额外动作
- javascript - Sortng mat-table by date doesn't sort rows
- regex - How to match my whole string with regular expression while allowing nested patterns
- php - 在注册表 Prestashop 1.6.x 中显示自定义字段
- python - 如何将具有不同索引的熊猫中的两列相乘?
- c# - 谷歌云服务可以与 Unity 一起使用吗?
- django - How to load the data into existing table in postgresql database in django
- visual-studio-code - 让 VSCode Intellisense 默认建议“if block”而不是“if”
- php - 如何将 SQL Server 与 PHP 7.3 连接起来?
- android - ConstraintLayout: EditText.requestFocus() is not working normally when it is added in Group