Я недавно начал писать код на Python, и у меня возник вопрос о параметре ** kwargs и инициализации класса.
В случае следующего создания класса и метода init как узнать, что хранится в ** kwargs?В этом случае «net» - это словарь Python, содержащий разные ключи.Эти ключи загружены в параметр ** kwargs?Кроме того, если я пытаюсь напечатать ** kwargs в методе init , он не выводит никакой печати в консоль python, почему это так?Разве мне не разрешено печатать по методу init ?
Спасибо.
''' instantiation '''
sf = op.algorithms.StokesFlow(network=net, phase=water)
''' __init__ method of the StokesFlow class '''
def __init__(self, settings={}, phase=None, **kwargs):
def_set = {'phase': None,
'quantity': 'pore.pressure',
'conductance': 'throat.hydraulic_conductance',
'gui': {'setup': {'phase': None,
'quantity': '',
'conductance': ''},
'set_rate_BC': {'pores': None,
'values': None},
'set_value_BC': {'pores': None,
'values': None},
'set_source': {'pores': None,
'propname': ''}
}
}
print("kwargs:", **kwargs)
super().__init__(**kwargs)
self.settings.update(def_set)
self.settings.update(settings)
if phase is not None:
self.setup(phase=phase)