Мой класс объявляет экземпляр другого класса в своем методе fit
. Давайте назовем мой класс Foo
, а другой класс Bar
.
Foo
принимает некоторые ключевые слова, которые используются только в этом классе, и некоторые другие **bar_kwargs
, которые сначала устанавливаются в качестве атрибутов, используя self.dict__update__(**bar_kwargs)
(взято из этого поста ) и который также должен быть передан методу __init__
из Bar
. Я не могу заставить эту передачу **bar_kwargs
работать. Кто-нибудь знает, как решить эту проблему?
Вот пример:
class Bar():
def __init__(self,bar='bar'):
self.bar = bar
class Foo():
def __init__(self,foo_1,foo_2='foo_2',**bar_kwargs):
self.foo_1 = foo_1
self.foo_2 = foo_2
self.__dict__.update(**bar_kwargs)
def fit(self):
self.bar = Bar(**bar_kwargs)
foo = Foo(foo_1='foo_1',foo_2='foo_2',bar='bar_passed_from_foo')
foo.fit()
, который выдает следующую ошибку:
NameError: name 'bar_kwargs' is not defined