Инициализация объекта класса данных Python без передачи переменных экземпляра или значений по умолчанию ⇐ Python

Программы на Python
Anonymous
Инициализация объекта класса данных Python без передачи переменных экземпляра или значений по умолчанию

Сообщение Anonymous »

Я хочу инициализировать объект класса данных 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: str = None
# OR
paramC: str = ""
Но я не хочу использовать значение по умолчанию для paramC, потому что мне нужен сценарий, в котором если мы передаем paramC, то в объекте должен быть только он, иначе его там не должно быть. Поэтому, если мы используем здесь значение по умолчанию, paramC всегда будет присутствовать в объекте со значением None ИЛИ пустой строкой.
Я хотел бы пропустить инициализацию параметра, если он не был передан во время инициализации.>

Подробнее здесь: https://stackoverflow.com/questions/713 ... s-or-defau

Вернуться в «Python»