Как установить значения унаследованных атрибутов родительского класса для дочернего элемента из экземпляра родительского класса?
У меня есть база данных экземпляров родительского класса, которую я зацикливаю в методе Child, чтобы найти подходящий экземпляр по имени.Затем я хотел бы установить все унаследованные значения экземпляра на значения экземпляра, который был найден циклом.
class Material:
name = None
rho = 1.0 #density (kg/m^3)
E = 1.0e06 #elasticMod (kPa)
poisson = 0.01 #poisson's ratio (n/a)
sY = 1.0e06 #yieldStrength (kPa)
sUT = 1.0e06 #ultimateTensileStrength (kPa)
CoF = 0.10 #coefficient of Friction (n/a)
matLib = [] # material Library
def __init__(self, **kwargs):
for key, value in kwargs.items():
setattr(self, key, value)
Material.matLib.append(self.name) #add to the library
class component(Material):
mass = None # Piston Mass (g)
mat = None # Material !!! keyWord to find values !!!
...(etc)...
...
def __init__(self, **kwargs):
for key, value in kwargs.items():
setattr(self, key, value)
def setMat(self):
for n in Material.matLib:
if self.mat is in Material.matLib:
self.rho = <found_instance_value.rho> #kg/m^3
E = <found_instance_value.E> ...(etc)...
...
aisi4340 = Material(name='aisi4340',
rho = 7850,
E = 8.0E06,
sY = 4.70e07,
sUT = 7.45e07,
poisson = 0.29
)
Piston = component(
geom = path + '.stp'
mat = 'aisi4340'
...(etc)...
)
Piston.setMat()
... do some calcs on this component,
but other components are made of other materials,
which should also inherit their respective values