Page 1 of 1

So ignorieren Sie nicht anpassende Keyword-Übereinstimmung mit Argumenten in Python Dataclass

Posted: 07 Apr 2025, 04:30
by Anonymous
Mit normalen Klassen haben Sie ** kwargs im __init __ Daher können nicht Matching-Keyword-Argumente ignoriert werden:

Code: Select all

class MyClass:
def __init__(self, a, **kwargs):
self.a=a

my_class = MyClass(20, **{"kwarg1" : 1})
Gibt es ein Äquivalent für @Dataclass , das nicht Matching-Keyword-Argumente ignorieren kann, ohne ein __init __ ?

Code: Select all

from dataclasses import dataclass

@dataclass
class MyClass:
a: int

my_class = MyClass(20, **{"kwarg1" : 1}) # TypeError: MyClass.__init__() got an unexpected keyword argument 'kwarg1'