【问题标题】:is it ok to import the same libraries (modules) for each file used in the main program?可以为主程序中使用的每个文件导入相同的库(模块)吗?
【发布时间】:2017-10-25 02:31:46
【问题描述】:

我的 python 程序变大了,我想把它分成多个文件。所以我想在自己的文件中编写一些类(保存在与主应用程序相同的目录中)。显然,这是一种常见的做法。

所以我有两个文件:主应用程序文件 mainFile.py 和类文件 myClassFile.py。

ma​​inFile.py 我有以下内容:

import sys
import datetime

from myClassFile import myClass


def Setup(args):

    print(datetime.datetime.now())
    c = myClass()
    c.printTime()

if __name__ == "__main__":
    Setup(sys.argv)

此程序从 myClassFile.py 导入 myClass 并使其在与 main 相同的命名空间中可用。

myClassFile.py 中,我有以下类定义:

class myClass():

    def __init__(self):
        pass

    def printTime(self):
        now = datetime.datetime.now()
        print(now)

如您所见,myClassFile.py 使用了未导入的日期时间库。因此给了我一个错误。因此,一个简单的解决方案是将其导入同一个文件中,但这意味着我必须为我创建的每个新文件导入所有库(或模块)。

所以,我的问题是:我应该在每个文件中导入所有需要的库吗?这是python的好习惯吗?这会导致性能问题吗?

或者在主文件中导入库并以某种方式使它们在导入的文件中可用会更好吗?

对不起,如果以前有人问过这个问题。我在任何地方都找不到这个特定的例子。

【问题讨论】:

    标签: python-3.x import


    【解决方案1】:

    如果有人是 python 新手,我可以回答我自己的问题。我认为它是这样的:

    是的,您需要导入新文件运行所需的任何库。

    原因是由于命名空间。新文件将有自己的命名空间,并且需要加载其依赖项。我想这就是答案。我现在一直在用 python 编程,这对我来说很有意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 2023-03-16
      • 2021-01-01
      • 2021-09-27
      相关资源
      最近更新 更多