gpt4 book ai didi

python - 在模块中导入类

转载 作者:太空宇宙 更新时间:2023-11-04 09:20:58 26 4
gpt4 key购买 nike

目前,我有一个包含多个协同工作的类的解析器。

例如:TreeParser 创建多个 Product 和 Reactant 模块,这些模块又创建多个 Element 类。 TreeParser 由同一模块中的渲染方法调用,该模块是从导入器调用的。

最后,如果包有依赖项(例如 re 和同一文件夹中的另一个模块),需要这些模块的最佳位置在哪里?在 __init__.py 文件中还是在模块本身中?

编辑:

当导入模块的一部分调用模块内的另一个 def 时,如果未导入该 def,如何调用它?

lib/toolset.py => def add(){ toolset.show("我正在添加"); } def show(text){打印文本};

如果从 main.py => import lib.toolset 调用该文件,则不会加载 show 方法,或者 main.py => from lib.toolset import显示 将不起作用。

能否将导入工具集放在toolset.py的顶部?

最佳答案

我认为这是您问题中的关键陈述。

I don't really want to add the module name in front of every call to the class

我的回应:我听到你在说什么,但这是 Python 中的标准做法。

任何阅读“result = match(blah)”这样的代码的 Python 程序员都会假定您正在调用自己模块中的本地函数。如果您实际上是在谈论 re 模块中的函数 match(),他们会期望看到“result = re.match(blah)”。就是这样。

如果有帮助的话,当我第一次接触 Python 时,我也不喜欢这种风格,但现在我很欣赏它消除了我正在调用的许多称为“匹配”的函数中的任何一个的歧义,尤其是当我来的时候返回阅读我六个月前编写的代码。

关于python - 在模块中导入类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2699987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com