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

Принудительное преобразование типа в методе __init__ python dataclass
У меня есть следующий очень простой класс данных: import dataclasses @dataclasses.dataclass class Test: value: int Я создаю экземпляр класса, но вместо целого использую строку: >>> test = Test('1') >>>...
7662 просмотров
schedule 15.10.2021

Классы данных Python наследуют часть атрибутов родительского класса данных
Я построил множественную базу dataclass . Теперь я хочу создать дочерний dataclass , унаследованный от этих базовых классов, но может унаследовать часть атрибутов, определенных в некоторых базовых классах. Примеры могут быть: import...
643 просмотров
schedule 20.09.2021

Переопределение атрибута, отличного от класса данных, подклассом класса данных вызывает ошибку атрибута
Учитывая следующую модель данных from typing import List class A: a: List[int] = [] class B(A): def __init__(self, b: str, a: List[int] = []): self.b = b self.a = a Факты Это Евангелие, которое A не может...
98 просмотров
schedule 19.09.2021

Как я могу использовать список [customClass] в качестве типа с @dataclass в Python 3.7.x
У меня есть следующие классы данных. @dataclass class Package: '''Class for keeping track of one destination.''' _address: [] @dataclass class Destination: '''Class for keeping track of a destination.''' _start: str _end: str _distance:...
3757 просмотров
schedule 28.04.2022

Каков рекомендуемый способ включения свойств в классы данных в asdict или сериализации?
Обратите внимание, что это похоже на Как получить методы @property в asdict? . У меня есть (замороженная) вложенная структура данных, подобная следующей. Определены несколько свойств, которые (чисто) зависят от полей. import copy import...
728 просмотров

Являются ли возвращаемые структуры Python NamedTuple одним из немногих мест, где следует использовать изменяемые значения по умолчанию?
Методы возврата структур из функций Python подробно обсуждались в различных сообщениях. Два хороших здесь и здесь . Однако, если я не пропустил это, ни одно из предложенных решений не определяет структуру в том же месте, где установлены ее...
63 просмотров

Классы данных против типизации.
Короче говоря PEP-557 представил классы данных в стандартной библиотеке Python, которые в основном могут заполнять та же роль, что и collections.namedtuple и typing.NamedTuple . И теперь мне интересно, как разделить варианты использования, в...
22708 просмотров

Класс данных Python: можете ли вы установить значение по умолчанию для полей?
Я хочу создать базовый класс класса данных, в котором все поля в подклассах автоматически становятся Необязательными и по умолчанию имеют значение Нет (если значение по умолчанию не указано). Следующий код ... кажется, делает то, что я хочу, но не...
6505 просмотров
schedule 28.07.2022

Можно ли предотвратить чтение из замороженного класса данных Python?
У меня есть ситуация, когда я хотел бы иметь возможность обрабатывать замороженный экземпляр dataclass как всегда имеющий самые свежие данные. Или, другими словами, я хотел бы иметь возможность определять, вызывается ли экземпляр класса данных...
218 просмотров
schedule 02.08.2022

Как преобразовать классы данных в Python, которые наследуются друг от друга?
Как правильно конвертировать классы данных в Python, которые наследуются друг от друга (без повторяющегося кода)? Пример: from dataclasses import dataclass @dataclass class Parent: p1: int # … @dataclass class Child(Parent): c1:...
63 просмотров

Введите подсказки в namedtuple
Рассмотрим следующий фрагмент кода: from collections import namedtuple point = namedtuple("Point", ("x:int", "y:int")) Приведенный выше код - это просто способ продемонстрировать, чего я пытаюсь достичь. Я хотел бы сделать namedtuple с...
46889 просмотров

Что такое классы данных и чем они отличаются от обычных классов?
С помощью PEP 557 классы данных вводятся в стандартную библиотеку Python. Они используют декоратор @dataclass и должны быть «изменяемыми именованными кортежами по умолчанию», но я не совсем уверен, что понимаю, что это на самом деле означает и...
98981 просмотров

Python 3.7: Утилита классов данных и SimpleNameSpace
Python 3.7 предоставляет новые dataclasses , которые имеют предопределенные специальные функции. С точки зрения обзора, dataclasses и SimpleNameSpace оба предоставляют удобные средства инкапсуляции данных. @dataclass class MyData:...
3537 просмотров
schedule 22.04.2023

Python 3.7: класс данных не вызывает `TypeError` для` eq = False`
Я пробовал новый dataclasses в Python 3.7 Декоратору dataclass могут быть переданы аргументы для управления дополнительными функциями, которые добавляются к классу. По какой-то причине декоратор, похоже, не вызывает TypeError для eq=False...
1807 просмотров
schedule 17.06.2023

Сделайте так, чтобы кодировщик Python json поддерживал новые классы данных Python
Начиная с Python 3.7 существует так называемый класс данных: from dataclasses import dataclass @dataclass class Foo: x: str Однако следующее не удается: >>> import json >>> foo = Foo(x="bar") >>>...
38843 просмотров
schedule 17.12.2022

Python 3.7: инициализировать объекты с помощью модуля классов данных?
Вот мой код на Python 3.6 class A(object) def __init__(self, a: str): self._int_a: int = int(a) # desired composition def get_int_a(self) -> int: return self._int_a Я хочу переписать этот код в python 3.7 ,...
3889 просмотров
schedule 01.06.2023

Наследование класса данных Python с изменяемыми аргументами по умолчанию возвращает нулевое значение
Я пытаюсь вычислить радиусоподобную величину из 3 списков, содержащих декартовы координаты x, y и z. Ниже приведен мой минимальный пример кода для воспроизведения проблемы, с которой я столкнулся; Дочерний класс вычисляет величину радиуса, но...
953 просмотров

Json-сериализация вложенных классов данных
Мне нужно было бы задать вопрос о json serialization of @dataclass из Make Python json кодировщик поддерживает новые классы данных Python немного дальше: рассмотрите, когда они находятся во вложенной структуре. Рассмотреть возможность:...
3808 просмотров

В классе данных Python есть ли способ сделать одну переменную зависимой от другой?
Я использую класс данных в python. @dataclassese.dataclass(eq=True) class ExampleClass: x: int = 12 y: int = x*2 example1 = ExampleClass(x=6) example2 = ExampleClass(x=6, y=6*2) В приведенном выше примере example1 имеет y ,...
112 просмотров
schedule 29.05.2023

Мой код работает в Python 3.8, но тот же код не работает в Python 3.5.
мой код отлично работает в Python 3.8, но когда я переключаюсь на Python 3.5 в той же операционной системе, с тем же кодом и всем остальным, он начинает выбрасывать SyntaxError: недопустимый синтаксис. Вот ошибка и часть кода, которая, как я думаю,...
916 просмотров