在Python中将主类文件导入子类文件

时间:2018-02-13 07:46:38

标签: python oop packages python-module

所以,基本上,我有一个名为" Material"的文件夹。其中包含两个文件:" Material.py"和" ElasticMaterial.py"。另外,我在每个名为Material和ElasticMaterial的文件中都有类。此外,ElasticMaterial是Material的子类,因此,其类定义为:

class ElasticMaterial(Material):
    def __init__(self,StressState):

        self.StressState = StressState
        if self.StressState=='threed':
            self.lv=6  #lv is length of stress and strain vectors
        else:
            self.lv=4

如果我要将Material类导入为以下任何选项:

import Material.Material

from Material.Material import Material

from . import Material

我收到错误:"模块。 init ()最多需要2个参数(3个给定)"

此外,有人可以建议任何有关Python OOP和包的好课程吗?我使用的是Python 3.6。

P.S。我正在尝试打包我的软件,以便每个类都包含在其单个文件中。 从Material.py文件添加代码

import numpy as np
from Material.ElasticMaterial import ElasticMaterial
class Material(object):

    def newMaterial(matPhysLaw, stressState):
        if (matPhysLaw=="elastic"):

            return ElasticMaterial(stressState)

0 个答案:

没有答案