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

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

Post 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'

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post