So ignorieren Sie nicht anpassende Keyword-Übereinstimmung mit Argumenten in Python Dataclass
Posted: 07 Apr 2025, 04:30
Mit normalen Klassen haben Sie ** kwargs im __init __ Daher können nicht Matching-Keyword-Argumente ignoriert werden:
Gibt es ein Äquivalent für @Dataclass , das nicht Matching-Keyword-Argumente ignorieren kann, ohne ein __init __ ?
Code: Select all
class MyClass:
def __init__(self, a, **kwargs):
self.a=a
my_class = MyClass(20, **{"kwarg1" : 1})
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'