Вопросы по теме 'python-dataclasses'

Как мне задокументировать конструктор для класса с использованием классов данных Python?
У меня есть существующий код Python 3.6, который я хотел бы перенести на классы данных Python 3.7. У меня есть __init__ методы с хорошей документацией, в которой указаны атрибуты, которые принимают конструкторы, и их типы. Однако, если я изменю...
12355 просмотров

Как определить циклически зависимые классы данных в Python 3.7+?
Предположим, что у class A есть член типа class B , а у class B есть член типа class A . В Scala или Kotlin вы можете определять классы в любом порядке, не беспокоясь в этом случае, потому что класс, определенный первым, может использовать...
1652 просмотров

Поля с ошибками в классе @dataclass Python
Как заставить его вызывать исключение при установке полей с ошибками в @dataclass -декорированном классе Python? Мне нужен практичный способ сделать это. Нужно ли вместо этого писать собственный декоратор? @dataclass class C(object): x:...
328 просмотров
schedule 03.05.2023

класс данных python3 с ** kwargs (звездочка)
В настоящее время я использовал DTO (объект передачи данных), как это. class Test1: def __init__(self, user_id: int = None, body: str = None): self.user_id = user_id self.body = body Код примера очень...
8182 просмотров
schedule 07.07.2022

Можно ли заставить поле класса данных вызывать его default_factory, если предоставленный аргумент - None?
У меня есть класс данных с изменяемым полем (списком). Я надеюсь достичь того, что это поле никогда не будет None, даже если явно установлено значение None в вызове __init__. В обычном классе это было бы тривиально реализовать: class A: def...
1016 просмотров
schedule 14.04.2022

Как я могу исправить ошибку TypeError моего класса данных в Python?
У меня есть класс данных с 5 атрибутами. Когда я даю эти атрибуты через словарь, это хорошо работает. Но когда в словаре больше атрибутов, чем в классе, класс выдает ошибку TypeError. Я пытаюсь сделать так, чтобы классу было все равно, когда есть...
2951 просмотров
schedule 22.05.2022

Как обеспечить соблюдение типов полей класса данных?
В этом коде: import dataclasses @dataclasses.dataclass class MyClass: value: str obj = MyClass(value=1) создается экземпляр класса данных MyClass со значением, которое не соответствует типу value . Есть ли простой способ...
2813 просмотров
schedule 20.08.2022

__post_init__ классов данных python 3.x не вызывается при загрузке из yaml
Обратите внимание, что я уже упоминал вопрос StackOverflow здесь . Я публикую этот вопрос, чтобы выяснить, безопасно ли вызывать __post_init__ . Пожалуйста, проверьте вопрос до конца. Проверьте приведенный ниже код. На шаге 3 мы загружаем...
1107 просмотров

pyinstaller отказывается генерировать .exe из-за классов данных
Я использую классы данных, все работает нормально при отладке, но при создании .exe с помощью pyinstaller у меня всегда возникает ошибка рекурсии. Я попытался удалить pyinstaller и переустановить последнюю версию. Теперь pyinstaller отказывается...
142 просмотров
schedule 08.04.2023

Получение автозаполнения IDE для сгенерированного кода
Я пытаюсь создать класс данных, подобный классу, но pycharm не обеспечивает автозаполнение. from dataclasses import dataclass def my_data(cls): args = ", ".join(cls.__annotations__) func_txt = f"def __init__(self,{args}):\n...
13 просмотров

Как napoleon и autodoc взаимодействуют, документируя участников
Я заметил изменения в том, как Sphinx отображает описания классов. Учитывая этот код # my example happens to be a dataclass, but the behavior for # regular classes is the same @dataclass class TestClass: """This is a test class...
438 просмотров

Поиск имени подсказки типа атрибутов класса данных
У меня есть класс данных с типизированными атрибутами, использующий типы, которые я определил, как показано ниже: from dataclasses import dataclass PositiveFloatType = NewType("PositiveFloat", float) @dataclass(init=False, frozen=True)...
53 просмотров

Как сделать атрибут экземпляра класса данных непубличным и __init__ arg?
Если я хочу, чтобы атрибут экземпляра был: Непубличный (он же имеет одно начальное подчеркивание) Быть параметром в подписи __init__ Обычно я бы сделал так: class Foo: def __init__(self, bar: str): self._bar = bar foo =...
126 просмотров
schedule 13.11.2022

Как добавить значения в класс данных Python?
Допустим, у меня есть класс данных python: @dataclass class Person: name: str age: int married: bool И добавляю данные в поля скажем из воображаемого словаря: for row in something: ob = Person( name=row.name,...
41 просмотров
schedule 05.09.2022

Объединение @dataclass и @property
Я хотел бы использовать @dataclass для удаления большого количества шаблонов, но мне также нравится инкапсуляция данных, предлагаемая @property. Могу ли я делать и то, и другое одновременно? В качестве примера игрушки у меня есть такой класс, как...
49 просмотров
schedule 09.05.2022