2024-05-18 22:28:52 发布
网友
Python中的一些库被组织为子模块的层次结构。从图书馆用户的角度来看,这样的设计有什么利弊?在
例如:
from scipy.sparse.csgraph import dijkstra
对比:
甚至是一个完全扁平的设计:
from scipy import dijkstra
注:
我认为Python包中特定于接口的方面至少包含以下内容:
名称间距如果您的包中有多个dijkstra实现,那么将它们放在不同的子模块中显然是有意义的,以避免像miller_dijkstra或dijkstra_v1这样的奇怪名称。通过将每个实现放在单独的模块中,这就永远不会发生冲突。
dijkstra
miller_dijkstra
dijkstra_v1
Forward declaration在某些情况下,如果使用循环导入,Python中可能会出现问题。然后把所有的东西放在一个单独的模块中有时可以帮助解决这些问题。
我认为Python包中特定于接口的方面至少包含以下内容:
名称间距
如果您的包中有多个
dijkstra
实现,那么将它们放在不同的子模块中显然是有意义的,以避免像miller_dijkstra
或dijkstra_v1
这样的奇怪名称。通过将每个实现放在单独的模块中,这就永远不会发生冲突。Forward declaration
在某些情况下,如果使用循环导入,Python中可能会出现问题。然后把所有的东西放在一个单独的模块中有时可以帮助解决这些问题。
相关问题 更多 >
编程相关推荐