Инициализация объекта класса данных 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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