По вопросам, касающимся модуля классов данных Python (новое в Python 3.7). Классы данных - это классы Python, но они специально предназначены для хранения объектов данных.

Подробнее про python-dataclasses...

Я хочу сослаться на переменную класса данных в лямбда-функции для default_factory, например: from typing import List from dataclasses import dataclass, field @dataclass class A: a: float = 1 b: List = field(default_factory = lambda: [a]) Но я получаю сообщение об ошибке, что переменная не ....
2 Мар 2021 в 13:26
Я создаю класс данных в 3.8.8 для хранения результата вызова REST API, и один из его атрибутов используется для хранения статуса ответа HTTP: из классов данных импорт класса данных из http import HTTPStatus @ .......
Итак, я хочу создать класс, который функционирует как сумка. Я просто хочу сделать в этой сумке 2 функции: одну функцию, которая добавляет элемент в сумку и добавляет указанное количество, и функцию, которая извлекает элемент и указанное количество этого элемента. Для добавления функции элемента я ....
17 Фев 2021 в 20:44
В чем разница между @dataclass(frozen=True) и @dataclass(frozen=False)? Когда я должен использовать что?....
14 Фев 2021 в 14:11
У меня есть сценарий, в котором у меня есть два класса данных, которые разделяют некоторые командные ключи. Скажем @dataclass class A key1: str = "" key2: dict = {} key3: Any = "" И класс B @dataclass class B key1: str = "" key3: Any = "" key4: List = [] Оба эти класса разделяют некую ключевую це....
5 Фев 2021 в 17:04
У меня есть класс данных, настроенный так: from dataclasses import dataclass, field from typing import List @dataclass class stats: foo: List [list] = field (default_factory = list) Я попытался отредактировать .......
30 Янв 2021 в 16:56
Я пытаюсь заставить себя привыкнуть к использованию классов данных. Я читаю текстовый файл со строками данных, два столбца содержат дату. Когда я читал файл в классе, почему .......
27 Янв 2021 в 13:27
У меня есть такой класс данных: from dataclasses import dataclass, field from typing import List @dataclass class stats: target_list: List[None] = field(default_factory=list) Когда я пытаюсь сравнить содержимое списка вот так: if stats.target_list == None: pass Я получаю AttributeError: о....
25 Янв 2021 в 23:01
Рассмотрим следующий пример кода from dataclasses import dataclass, field from typing import ClassVar @dataclass class Base: x: str = field(default='x', init=False) @dataclass class A(Base): name: str @dataclass class B(Base): name: str a = A('test_a') b = B('test_b') a.x = 'y' ....
У меня есть такой код: from dataclasses import dataclass from typing import List @dataclass class Position: name: str lon: float lat: float @dataclass class Section: positions: List[Position] pos1 = Position('a', 52, 10) pos2 = Position('b', 46, -10) pos3 = Position('c', 45, -10) ....
9 Дек 2020 в 14:55
Если я хочу, чтобы атрибут экземпляра был: Не общедоступно (также имеет одно ведущее подчеркивание) Быть параметром в сигнатуре __init__ Обычно я бы сделал так: class Foo: def __init__(self, bar: str): self._bar = bar foo = Foo(bar="bar") # foo.bar would raise an AttributeError Однако....
13 Ноя 2020 в 05:38
Обратите внимание, что это похоже на Как получить методы @property в asdict? . У меня есть (замороженная) вложенная структура данных, подобная следующей. Определены несколько свойств, которые (чисто) зависят от полей. import copy import dataclasses import json from dataclasses import dataclass @d....
Сейчас у меня примерно так: @dataclass(frozen=True) class MyClass: a: str b: str c: str d: Dict[str, str] ... что все хорошо, за исключением того, что dict изменяемы, поэтому я не могу использовать свой класс для ввода другого словаря. Вместо этого я бы хотел, чтобы поле d было чем-то вроде....
10 Ноя 2020 в 22:42
Я знаю, что название очень сбивает с толку, поэтому позвольте мне взять в качестве примера дерево двоичного поиска: Использование обычного определения класса # This code passed mypy test from typing import Generic, TypeVar T = TypeVar('T') class BST(Generic[T]): class Node: def ....
20 Сен 2020 в 15:09
Я использовал namedtuples для неизменяемых структур данных, пока не наткнулся на классы данных, которые я предпочитаю в моих случаях использования (не относящихся к вопросу). Теперь я узнал, что они не неизменны! По крайней мере, строго говоря. setattr(frozen_dc_obj, "prop", "value") вызывает исключ....
У меня есть класс данных со значениями по умолчанию: @dataclasses.dataclass class SomeDataclass: field: str = "" number: int = 3 У меня есть функция, которая получает это как параметр. Я хочу, чтобы он получал пустой параметр, что приведет к созданию экземпляра класса данных по умолчанию. Я....
20 Авг 2020 в 20:55
Есть ли способ проверить, имеет ли время (представленное в виде строки) формат «ЧЧ: ММа» или «ЧЧ: ММр»? Например, «12: 30p», «11: 30a» или «8: 30p» могут быть временем ввода (где a = am, p = pm). Спасибо!....
24 Июл 2020 в 19:05
У меня есть MongoDB, и я хотел бы сохранить каждый документ как экземпляр класса данных python. У меня проблема с _id. Когда я создаю локальный экземпляр, я не хочу выделять _id. Однако при получении документа экземпляр должен содержать _id. Мой подход заключался в том, чтобы установить _id как None....
2 Июл 2020 в 22:21
Я делаю класс данных с полем, для которого я хотел бы, чтобы было только несколько возможных значений. Я думал что-то вроде этого: @dataclass class Person: name: str = field(default='Eric', choices=['Eric', 'John', 'Graham', 'Terry']) Я знаю, что одним из решений является проверка аргументов в м....
У меня есть родительский класс данных, и дочерний класс наследует первый класс. Я переопределил метод __eq__() в родительском классе данных. Но когда я сравниваю подкласс объектов данных, он не использует метод __eq__(), определенный в родительском классе данных. Почему это происходит? Как я могу эт....
Учитывая следующий пример: from typing import Literal from dataclasses import dataclass @dataclass Class Example: answer: Literal['Y', 'N'] x = Example('N') field = fields(x)[0] Как я могу проверить, что поле переменной имеет тип Literal? issubclass(field.type, Literal), похоже, не работает. В....
Мне нужно ответить на вопрос о json serialization of @dataclass из Сделайте так, чтобы json-кодер Python поддерживал новые классы данных Python немного дальше: подумайте, когда они находятся во вложенной структуре. Рассмотреть: import json from attr import dataclass from dataclasses_json import data....
Предположим, у меня есть класс данных: @dataclass(frozen=True) class Foo: id: str name: str Я хочу, чтобы это было неизменным (отсюда frozen=True), так что foo.id = bar и foo.name = baz потерпели неудачу. Но я хочу иметь возможность удалить идентификатор, например, так: foo = Foo(id=10, nam....
16 Мар 2020 в 04:02
Это Python 3.7 У меня есть такой класс данных: @dataclass class Action: action: str Но на самом деле действие ограничено значениями «бла» и «фу». Есть ли разумный способ выразить это?....
9 Мар 2020 в 14:18
Какой питонный способ проверки аргументов init перед его созданием без переопределения встроенных init-классов данных? Я подумал, что использование метода __new__ уловки будет уместным? from dataclasses import dataclass @dataclass class MyClass: is_good: bool = False is_bad: bool = False ....
12 Фев 2020 в 04:26