我刚开始在python中使用DEAP包。在本教程之后,我无法理解这个陈述:
toolbox.register("cross",tools.cxTwoPoint)
我了解tools.cxTwoPoint
是调用cxTwoPoint
函数。但是,我检查了源代码,cxTwoPoint
函数不在tools
模块中,它是crossover.py
中定义的函数。另外,我在tools.py
中找不到与crossover.py
或cxTwoPoint
相关的任何陈述。
有人能帮助我吗?非常感谢!!!
答案 0 :(得分:0)
tools.py
用于对算法进行基准测试。正如我们在__init__.py
中看到的,有一个语句from .crossover import *
,这意味着导入crossover
模块中与__init__.py
位于同一目录的所有函数。这使您可以轻松地在其他文件中访问这些功能。并且需要__init__.py
才能使Python将目录包含在包含的包中,如下所示:What is __init__.py for?。