所以,基本上,我有一个名为" 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)