在python DEAP包中,为什么一个函数可以从一个没有这样功能的模块中调用?
In python DEAP package, why a function can be called from a module which dose not have such function?
我刚开始使用python中的DEAP包。按照教程,我无法理解这个语句:
toolbox.register("cross",tools.cxTwoPoint)
我理解tools.cxTwoPoint
是调用cxTwoPoint
函数。但是,我查看了源代码,cxTwoPoint
函数不在tools
模块中,它是crossover.py
中定义的函数。此外,我没有在 tools.py
中找到任何可能与 crossover.py
或 cxTwoPoint
相关的语句。
有人可以帮助我吗?非常感谢!!!
tools.py
用于对算法进行基准测试。正如我们从 __init__.py
中看到的,有一条语句 from .crossover import *
表示导入与 __init__.py
位于同一目录的 crossover
模块中的所有函数。这为您提供了一种在其他文件中访问这些函数的简便方法。 __init__.py
需要 Python trent 目录作为包含包的回答:What is __init__.py for?.
我刚开始使用python中的DEAP包。按照教程,我无法理解这个语句:
toolbox.register("cross",tools.cxTwoPoint)
我理解tools.cxTwoPoint
是调用cxTwoPoint
函数。但是,我查看了源代码,cxTwoPoint
函数不在tools
模块中,它是crossover.py
中定义的函数。此外,我没有在 tools.py
中找到任何可能与 crossover.py
或 cxTwoPoint
相关的语句。
有人可以帮助我吗?非常感谢!!!
tools.py
用于对算法进行基准测试。正如我们从 __init__.py
中看到的,有一条语句 from .crossover import *
表示导入与 __init__.py
位于同一目录的 crossover
模块中的所有函数。这为您提供了一种在其他文件中访问这些函数的简便方法。 __init__.py
需要 Python trent 目录作为包含包的回答:What is __init__.py for?.