gpt4 book ai didi

Python导入模块函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:06:52 25 4
gpt4 key购买 nike

我有一个与 Python 文件管理相关的问题。我组织 Python 文件的方式如下(__init__.py 为空):

--src
|---__init__.py
|---module1
| |----- __init__.py
| |----- my_file1.py
|---module2
| |----- __init__.py
| |----- my_file2.py
--app
|---my_application.py

如您所见,我将我的代码分为两组:第一组代码,位于 src 中。目录,包含自定义的库代码;第二组代码,位于app目录,包含调用自定义库的应用代码。 my_application.py可能包含以下代码:

  from src.module1.my_file1 import ClassA1, ClassA2, ClassA3
from src.module2.my_file2 import ClassB1, ClassB2, ClassB3
a = ClassA1()
b = ClassB3()

每当我基于它编写应用程序时,从自定义库中导入类很无聊。我想要这样的东西:

  • 请求 1:

    import all classes defined in src.module1

  • 请求 2:

    import fundamental classes defined in src.module1 and src.module2

    这里的基础类可以引用ClassA1src.module1.my_file1ClassB2src.module2.my_file2

在C++中,这很容易实现。比如第二个需求,我可以把基础类相关的头文件都放在一个头文件里。然后在应用程序中,我只包含这个头文件。但我不知道 Python 是如何工作的。谢谢。

最佳答案

要回答您的第一个问题,您只需将 from src.module1.my_file1 import ClassA1, ClassA2, ClassA3 替换为 import src.module.my_file1

这将使您可以访问模块中的所有类。如果需要,您还可以将导入的模块命名为 import module as md 这样您就可以访问模块中的所有类,例如 a = md.ClassA1()

关于你的第二个问题,我认为永远不需要只从模块中导入几个类。除非调用,否则不会实例化这些类,因此不会为它们分配内存。

关于Python导入模块函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48536834/

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