При создании конструктора по сниппету автоматически получается такая картина:
class XXX: def __init__(self, **kwargs): return super().__init__(**kwargs)
Что здесь означает это **kwargs?
При создании конструктора по сниппету автоматически получается такая картина:
class XXX: def __init__(self, **kwargs): return super().__init__(**kwargs)
Что здесь означает это **kwargs?
Лайк за внимательность.
kwargs - это по сути всего лишь обозначение, denotation. Основная фишка кроется в двух звёздочках перед этим обозначением...
Метки * и ** перед названием параметра, который принимает метод/функция/процедура обозначают, что на место данного параметра может быть занесено не только какое-ибо одиночное значение, но и массив, список или кортеж. В случае если вы, передавая кортеж (например), пометите параметр принимаемой функции ** или * - это будет означать, что все элементы в вашем кортеже будут рассмотрены отдельно, как независимые элементы. Без данных метод кортеж будет рассмотрен как одно монолитное целое, и невозможным будет