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

Почему классы данных Python 3.7 не поддерживают ‹ › ‹= и ›= или поддерживают?
Для версии 3.7.1 компилятора Transcrypt Python to JavaScript я сейчас использую новый декоратор @dataclass . Я ожидал, что ==, !=, <, >, >=, <= будет поддерживаться в соответствии с рефератом PEP , но вроде не так: from...
586 просмотров

Как сделать поля только для ключевых слов с помощью классов данных?
Начиная с 3.0 поддерживается создание только ключевого слова аргумента: class S3Obj: def __init__(self, bucket, key, *, storage_class='Standard'): self.bucket = bucket self.key = key self.storage_class =...
3920 просмотров

Как утверждать типы в классах данных python3?
Я использую новую функцию dataclass из Python3 , которая позволяет указывать тип полей класса. В этом примере field2 должен иметь тип List[int], и я передал ему List[str]. Этот код работает без сбоев, мне интересно, есть ли (автоматический)...
1354 просмотров
schedule 09.02.2023

Как показать код, сгенерированный при использовании декоратора класса @dataclass?
Python 3.7 представляет модуль dataclasses , который содержит декоратор @dataclass . Этот декоратор может генерировать функции класса. Как я могу распечатать эти сгенерированные функции?
809 просмотров
schedule 14.01.2024

Питонический способ проверить, имеет ли поле класса данных значение по умолчанию
В последнее время я использую python 3.7 и искал способы использовать новые классы данных. В основном у меня был метод, который перебирает поля класса данных и проверяет, имеют ли они значение по умолчанию: from dataclasses import fields,...
1924 просмотров
schedule 01.06.2023

Есть ли способ использовать класс данных с полями по умолчанию, с __slots__
Я хотел бы поместить __slots__ в класс данных с полями со значениями по умолчанию. Когда я пытаюсь это сделать, я получаю эту ошибку: >>> @dataclass ... class C: ... __slots__ = ('x', 'y', ) ... x: int ... y: int = 1 ......
1010 просмотров
schedule 17.01.2023

Поддерживает ли cython классы данных или что-то подобное
Меня интересует передача данных между кодом Python и Cython, чтобы данные были доступны из C и без GIL. Я думаю о достижении этого с помощью классов данных (начиная с py3.7), именованных кортежей (с хорошим синтаксисом определения, начиная с py3.6)...
1215 просмотров

Как сделать размороженный экземпляр класса данных хэшируемым?
При определении класса данных с frozen=False (поведение по умолчанию) и последующем создании экземпляра объекта этого класса есть ли способ сделать этот объект хешируемым? Зачем мне это нужно? До Python 3.7 я использовал именованные кортежи...
485 просмотров
schedule 21.02.2023

Использование классов данных с Cython
Я использую cython для обфускации кода, поэтому производительность сейчас не проблема. Проблема заключается в использовании классов данных. Во время компиляции при cythonize коде, содержащем определения классов данных, нет ошибок. Но при запуске...
595 просмотров
schedule 01.06.2023

Сериализация списка классов данных: str всегда вызывает repr
Я хотел бы сериализовать классы данных в строки. Это достаточно просто с dataclasses.asdict и созданием собственного метода __str__ . Он отлично работает даже для классов, членами которых являются другие классы данных или их списки. Однако вызов...
1236 просмотров
schedule 05.06.2022

Как можно использовать установщик свойств при использовании замороженных классов данных в Python
Я просто играл с концепцией классов данных Python и абстрактных классов, и то, что я пытаюсь достичь, - это в основном создать замороженный класс данных, но в то же время иметь один атрибут в качестве свойства. Ниже мой код для этого: import abc...
705 просмотров

Как лучше написать несколько предложений try для приведения строкового объекта json к классу данных?
У меня есть функция, которая получает несколько разных строковых объектов json с разными именами структур и/или полей, например: event = '{"userId": "TDQIQb2fQaORKvCyepDYoZgsoEE3", "profileIsCreated": true}' or event = '{"userId":...
104 просмотров

Константы классов Python в классах данных
Понимая, что приведенные ниже константы не являются истинными, пытаемся следовать PEP 8 Я хотел бы сделать «константу» в моем @dataclass в Python 3.7. @dataclass class MyClass: data: DataFrame SEED = 8675309 # Jenny's Constant...
2589 просмотров

Как создать класс данных с параметром списка, который имеет значение по умолчанию и может быть назначен с помощью конструктора?
Существует ли простой способ создать класс данных со свойством списка items , имеющим значения по умолчанию [1, 2, 3] , чтобы я мог присвоить ему другие значения [4, 5, 6] с помощью конструктора MyStruct(items=[4, 5, 6]) ? Если я запускаю...
74 просмотров
schedule 27.12.2022

Классы данных - связывание базовых методов
Я пытаюсь создать класс с двумя методами: Данные запроса (как генератор) Сохранить как json @dataclass class Data_Query: hierarchic: str sku: bool pred_lenght: int def query(self, db): if (self.hierarchic ==...
59 просмотров
schedule 29.05.2022

Определение ограничений для полей в классе данных Python
Я новичок в классах данных python, и мне было интересно, есть ли умный способ определения ограничений для полей в классе данных python. Предположим, у нас есть класс данных SomeConfiguration с 3 полями (field1, field2, field3), которые все являются...
331 просмотров
schedule 10.03.2022

Как создать класс, где тип равен int?
Я пытаюсь создать класс данных, который может генерировать схему clickhouse (sql-ish) из определений типов. clickhouse, например, поддерживает: Int8 Int16 Uint8 Uint16 В питоне этих типов не существует (афаик). Это просто int . Я...
125 просмотров

Сбор экземпляра класса данных
Есть ли возможность мариновать / укроп an_instance следующим образом? import dill import pandas as pd import numpy as np from datetime import datetime, timezone from dataclasses import make_dataclass, field fields = [('float_val', float,...
435 просмотров
schedule 21.03.2024

Невозможно вызвать replace() для класса данных с InitVar
Определение следующего подкласса: from dataclasses import dataclass, replace, field, InitVar @dataclass class MyDataClass: foo: InitVar[str] bar: str foo_len: int = field(init=False) def __post_init__(self, foo: int):...
98 просмотров
schedule 02.04.2023

Как хранить дополнительные атрибуты через kwargs в классах данных Python
Я хотел бы иметь класс данных Python с необязательными атрибутами, которые можно было бы передать во время инициализации через kwargs . Что-то типа @dataclass(allow_kwargs_init=True) class Person: name: str birth_year: int me =...
14 просмотров
schedule 05.07.2022