从python中的模块导入类

时间:2020-04-10 20:41:34

标签: python class import module

如果我有一个名为Physics的模块,其中写了4个类,并且我想在我的主文件中创建包含所有这些类的对象,我可以这样做:

import Physics

还是我需要通过说出每个个体类来导入

from Physics import ClassA  
from Physics import ClassB` 

等等?我问是因为我只是尝试导入模块名称,但这会让我从一个类中实例化一个对象。

2 个答案:

答案 0 :(得分:0)

您可以执行以下任何操作:

from Physics import ClassA , ClassB
a = ClassA()
b = ClassB()
import Physics
a = Physics.ClassA()
b = Physics.ClassB()
from Physics import ClassA  
from Physics import ClassB
a = ClassA()
b = ClassB()
from Physics import *
a = ClassA()
b = ClassB()

由于标准约定较为简洁,同时又很明确,因此通常比第一个更喜欢第一个约定。

答案 1 :(得分:0)

有很多方法可以导入东西。如果您打算使用很多东西而该模块中的名称并不常见,则可以

from physics import *

from physics import ClassA, ClassB, ClassC

执行此操作时,使用模块中的名称时无需引用模块名称。示例:

object = ClassA()

如果您仅使用模块中的一些内容,或者该模块具有通用名称的内容(例如sys的exit()就像python的exit()一样),则可以考虑仅导入整个模块,这样您就可以知道是否来自模块。但是,这样做时,每次使用该模块中要使用的内容时,都必须引用该模块的名称。

import sys
sys.exit()

某些模块的名称更长,每次使用它时,键入它都会很烦人。因此,人们经常将导入的模块保存到变量中:

import physics as phy
object = phy.ClassA()
相关问题