Я смущен даже после проверки многих вопросов, заданных в SO. У меня есть 2 разных класса (2 разных сценария) & Я хочу наследовать параметры метода суперкласса __init__
.__init__: Унаследовать параметр __init__ (dict) к методу __init__ другого класса?
script1.py
class MainClass():
def __init__(self,params):
self.one=params['ONE']
self.two=params['TWO']
self.three=params['THREE']
self.four=params['FOUR']
self.five=params['FIVE']
def a():
#---------
#somecode
#Initializing other class's object to access it's method.
s=SubClass() #HERE I WANT TO PASS 'PARAMS' (WHICH IS A DICTIONARY)
s.method1(....)
script2.py
class SubClass(SuperClass):
def __init__(self,params):
#Here I want all the parameters inside the 'param' in super class.
#(one,two,three...., etc).
#By checking some SO questions, I changed class SubClass() -->
#class Subclass(SuperClass) & below line:
MainClass.__init__(self,params) #But technically I don't have anything
#in param in subclass.
def method1():
#some code...
Поскольку пары юга класса не имеет ничего, он дает мне ошибку:
self.one=params['ONE']
TypeError: 'int' object has no attribute '__getitem__'
Я не являюсь получение:
Как я могу получить доступ ко всем параметрам суперкласса к подклассу самым простым способом? Я не хочу передавать индивидуальные аргументы (например, self.one, self.two ..) в подкласс.
Если я звоню третьему классу внутри
SubClass
->method1
-> Вызывайте 3-й класс так же, как и 'params'. Является ли это возможным?
У меня возникли проблемы с пониманием того, чего вы хотите. Не могли бы вы привести примеры кода для того, как вы хотите инициализировать и взаимодействовать с 'SubClass'? – Karin
Что такое SuperClass? –
'def __init __ (self, * args, ** kwargs): MainClass .__ init __ (self, * args, ** kwargs)'? –