Я хочу инициализировать объект класса данных Python, даже если в него не передаются переменные экземпляра и мы не добавили к параметру значения по умолчанию
Код: Выделить всё
@dataclass
class TestClass:
paramA: str
paramB: float
paramC: str
obj1 = TestClass(paramA="something", paramB=12.3)
Здесь мне не позволяют создать объект, и он выбрасывает
Код: Выделить всё
TypeError: __init__() missing 1 required positional argument: 'paramC'
Для устранения этой ошибки я могу использовать значение по умолчанию.
Но я не хочу использовать значение по умолчанию для paramC, потому что мне нужен сценарий, в котором если мы передаем paramC, то в объекте должен быть только он, иначе его там не должно быть. . Поэтому, если мы используем здесь значение по умолчанию, paramC всегда будет присутствовать в объекте со значением
None ИЛИ пустой строкой.
Я хотел бы пропустить инициализацию параметра, если он не передается во время инициализации.
Подробнее здесь:
https://stackoverflow.com/questions/713 ... s-or-defau