並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 21 件 / 21件

新着順 人気順

dataclassesの検索結果1 - 21 件 / 21件

  • [詳解] Pythonのdataclasses

    dataclassesとは pythonのdataclassesモジュールは、データを格納するためのクラスを定義し、データ格納クラスのための様々な機能を含んだモジュールです。 データ格納のための、と言うとふんわりした印象になりますが、クラス変数を初期化するための__init__()関数を自動生成してくれるため、クラスの定義がシンプルになります。またデータ格納を目的とするクラスの場合__init__()に大量の引数を記載する必要がありますが、自動生成されることによりその必要も無くなります。 データ格納といった目的以外にも様々な用途に用いることが考えられると思います。 dataclassesはPython3.7から追加になりました。本記事はPython3.9のドキュメント、ソースコードを参照して執筆しています。 基本的な使い方 dataclassesモジュールを用いたデータ格納クラスを作成する

      [詳解] Pythonのdataclasses
    • ライブラリ: dataclasses

      今回は Python 3.7 で標準ライブラリに追加された dataclasses について見ていきたいと思います。 目次 dataclasses とは dataclasses の使い方 dataclasses の使いどころ dataclasses とは dataclasses は、独自のクラスを定義するときに定型的な特殊メソッド( special methods )( __init__() 等)の記述を省略できる機能を提供するモジュールです。 Python 3.7 から標準ライブラリとして Python 本体に同梱されるようになりました。 代表的な機能は次の 2 つです。 dataclasses.dataclass: クラスのデコレータ。対象のクラスのクラス変数をもとに特殊メソッドを追加する。 dataclasses.field: クラス変数に使う。 dataclass とあわせて使うこ

        ライブラリ: dataclasses
      • Python: データ保持用のクラスを定義する (dataclasses) - け日記

        DBのエンティティクラスを定義するときなど、データを持つことに特化した構造体のようなクラスが必要なケースがよくあります。 かつてはdict + typeやnamedtupleなどで用をなしてましたが、そういったクラスを簡単に定義できる標準ライブラリとして、Python 3.7からdataclassesが提供されてます。この使い方を整理していきます。 docs.python.org $ python --version Python 3.7.4 基本的な使い方としては、dataclassesをインポートして、クラスに@dataclasses.dataclassでアノテーションし、属性を列挙していくだけでOKです。 これだけでも素のクラスで定義した場合と比較して、__init__に代入式をつらつら書いていく作業から解放されます。 import dataclasses from datetime

          Python: データ保持用のクラスを定義する (dataclasses) - け日記
        • GitHub - koxudaxi/datamodel-code-generator: Pydantic model and dataclasses.dataclass generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources.

          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

            GitHub - koxudaxi/datamodel-code-generator: Pydantic model and dataclasses.dataclass generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources.
          • namedtuple in a post-dataclasses world

            namedtuple has been around since forever,1 and over time, its convenience saw it used far outside its originally intended purpose. With dataclasses now covering part of those use cases, what should one use named tuples for? In this article, we take a look at exactly that, with a few examples from real code. Contents What are named tuples used for? The problems with named tuples What are named tupl

            • Dataclasses and attrs: when and why

              Python 3.7 introduced dataclasses (PEP557). Dataclasses can be a convenient way to generate classes whose primary goal is to contain values. The design of dataclasses is based on the pre-existing attr.s library. In fact Hynek Schlawack, the very same author of attrs, helped with the writing of PEP557. Basically dataclasses are a slimmed-down version of attrs. Whether this is an improvement or not

                Dataclasses and attrs: when and why
              • GitHub - oxan/djangorestframework-dataclasses: Dataclasses serializer for Django REST framework

                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                  GitHub - oxan/djangorestframework-dataclasses: Dataclasses serializer for Django REST framework
                • Why can't dataclasses have mutable defaults in their class attributes declaration?

                  This seems like something that is likely to have been asked before, but an hour or so of searching has yielded no results. Passing default list argument to dataclasses looked promising, but it's not quite what I'm looking for. Here's the problem: when one tries to assign a mutable value to a class attribute, there's an error: @dataclass class Foo: bar: list = [] # ValueError: mutable default <clas

                    Why can't dataclasses have mutable defaults in their class attributes declaration?
                  • Python dataclasses will save you HOURS, also featuring attrs

                    Get rid of boilerplate writing classes using dataclasses!In this video we learn about dataclasses and how to use them, as well as the related attrs library t...

                      Python dataclasses will save you HOURS, also featuring attrs
                    • [dataclasses-json] Dict型のプロパティに文字列を設定しようとすると、"TypeError: Type List cannot be instantiated; use list() instead"が発生した - Qiita

                      環境 Python3.10.2 dataclasses-json 0.5.7 何が起きた? dataclasses-jsonのfrom_dict関数で、Dict型のプロパティに文字列を設定しようとすると、当たり前ですがエラーが発生します。 from dataclasses import dataclass from dataclasses_json import dataclass_json from typing import List, Dict, Any @dataclass_json @dataclass class Person: name: str type: Dict[str, Any] """型が間違っている。正しくは`str`型""" @dataclass_json @dataclass class School: name: str people: List[Perso

                        [dataclasses-json] Dict型のプロパティに文字列を設定しようとすると、"TypeError: Type List cannot be instantiated; use list() instead"が発生した - Qiita
                      • dataclasses-json:オプショナルなプロパティの型を`None | str`にして`schema().load`を実行したらwarningが発生した。 - Qiita

                        環境 Python 3.11.2 dataclasses-json 0.5.7 起きたこと 以下のコードを実行したらdataclasses_jsonで「Unknown type at Project.project_name: None | str」というwarningが発生しました。 from dataclasses import dataclass from dataclasses_json import DataClassJsonMixin @dataclass(frozen=True) class Project(DataClassJsonMixin): project_id: str project_name: None | str = None print("Use `Project.from_dict()`") print(Project.from_dict({"projec

                          dataclasses-json:オプショナルなプロパティの型を`None | str`にして`schema().load`を実行したらwarningが発生した。 - Qiita
                        • dataclasses-json:`DataClassJsonMixin`を継承しているデータクラスで`undefined`や`letter_case`を設定する場合は、`dataclass_json_config`クラス変数を設定する - Qiita

                          環境 Python 3.11.2 dataclasses-json 0.5.7 やりたいこと @dataclass_jsonにはletter_caseやundefined引数で、設定を変えることができます。 from dataclasses import dataclass from dataclasses_json import dataclass_json, Undefined, Undefined @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.RAISE) @dataclass class Task: task_name: str value: int = 10

                            dataclasses-json:`DataClassJsonMixin`を継承しているデータクラスで`undefined`や`letter_case`を設定する場合は、`dataclass_json_config`クラス変数を設定する - Qiita
                          • Pythonでdataclasses-jsonを用いてJSONシリアライズおよびデシリアライズを行う

                            Pythonでdataclasses-jsonを用いてJSONシリアライズおよびデシリアライズを行ってみます。 今回はdataclasses-jsonを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。 ■Python 今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows11) ■dataclasses-jsonを用いてJSONシリアライズおよびデシリアライズを行う では、早速dataclasses-jsonを用いてJSONシリアライズおよびデシリアライズを行うスクリプトを書いていきます。 ■コード import json from dataclasses import dataclass from dataclasses_json import dataclass_json @data

                              Pythonでdataclasses-jsonを用いてJSONシリアライズおよびデシリアライズを行う
                            • Pythonのdataclasses.dataclassを使う - 偏った言語信者の垂れ流し

                              Pythonのdataclasses.dataclassは普段からたまに使っていますが、良く使っている書き方を人に紹介するためにメモを残します。 dataclasses - データクラス - Python 3.12.2 ドキュメント dictと相互変換するクラス オブジェクトとdictで相互変換するクラスをdataclassで書くことがあります。 asdict 関数が便利です。リストで保持したいメンバー変数は、 field 関数を使って定義すれば、asdictでそのまま対象にできます。 また from_dict メソッドは厳密に実装するなら引数のチェックなどをしてもよいですが、可変長のキーワード引数としてそのままコンストラクタに渡すように書けば、実装はシンプルです。 コード main.py: from dacite import from_dict from dataclasses imp

                                Pythonのdataclasses.dataclassを使う - 偏った言語信者の垂れ流し
                              • dataclasses-json:`DataClassJsonMixin`を継承してデータクラスを定義すれば、mypyに怒られない - Qiita

                                環境 Python 3.11.2 dataclasses-json 0.5.7 mypy 1.3.0 本題 @dataclass_jsonでデータクラスを定義して、dataclass_jsonが用意したfrom_dict関数などを呼び出すと、「そんな属性はない」とmypyに怒られます。 from dataclasses_json import dataclass_json, DataClassJsonMixin from dataclasses import dataclass @dataclass_json @dataclass class Task: value: int Task.from_dict({"value": 1})

                                  dataclasses-json:`DataClassJsonMixin`を継承してデータクラスを定義すれば、mypyに怒られない - Qiita
                                • dataclasses-json:データクラスのフィールドの型に`list`などを使うと、`TypeError: 'type' object is not subscriptable`エラーが発生する - Qiita

                                  実行環境 Python3.8.6 dataclasses-json 0.4.5 やりたいこと dataclasses-jsonを使って、dictからデータクラスに変換したいです。 エラー発生 以下のコードを実行すると、TypeError: 'type' object is not subscriptableが発生しました。 from __future__ import annotations from dataclasses import dataclass from dataclasses_json import dataclass_json @dataclass_json @dataclass class Person: name: str club: list[str] d = {"name": "Alice", "club": ["tennis", "soccer"]} perso

                                    dataclasses-json:データクラスのフィールドの型に`list`などを使うと、`TypeError: 'type' object is not subscriptable`エラーが発生する - Qiita
                                  • dataclasses-json:`from __future__ import annotations`が有効な状態で`schema().load()`を実行するとwarningが発生する - Qiita

                                    環境 Python 3.11.2 dataclasses-json 0.5.7 marshmallow 3.19.0 何が起きたのか? 以下のコードを実行したら、Task.schema().load()で、Unknown type int at Task.countというwarningが発生しました。 from __future__ import annotations from dataclasses_json import DataClassJsonMixin from dataclasses import dataclass @dataclass class Task(DataClassJsonMixin): count: int print("Use `Task.from_dict()`") print(Task.from_dict({"count": 1})) print("Us

                                      dataclasses-json:`from __future__ import annotations`が有効な状態で`schema().load()`を実行するとwarningが発生する - Qiita
                                    • dataclasses-json:`from __future__ import annotations`がある状態で`.schema().dump()`を実行すると、UserWarningが発生する - Qiita

                                      dataclasses-json:`from __future__ import annotations`がある状態で`.schema().dump()`を実行すると、UserWarningが発生するPythondataclasses-json 実行環境 Python3.8.6 dataclasses-json 0.4.5 やりたいこと dataclasses-jsonを使って、データクラスからdictに変換したいです。 何が起きたのか .schema().dump(...)を使って、データクラスPersonのlistを、dictのlistに変換します。 foo.pyでは、型ヒントにlistやdictなどを使うため、ファイルの先頭でfrom __future__ import annotationsを記載しました。python3.7以降で型ヒントにlistやdictを使う場合は、先頭にfr

                                        dataclasses-json:`from __future__ import annotations`がある状態で`.schema().dump()`を実行すると、UserWarningが発生する - Qiita
                                      • JSONとの間でデータクラスを簡単にシリアル化できる「dataclasses-json」のインストール

                                        JSONとの間でデータクラスを簡単にシリアル化できる「dataclasses-json」のインストールについて解説しています。 「dataclasses-json(https://github.com/lidatong/dataclasses-json,https://github.com/lidatong/dataclasses-json)」は、JSONとの間でデータクラスをエンコードおよびデコードすることができるライブラリです。 ■Python 今回のPythonのバージョンは、「3.7.9」を使用しています。(Windows10)(pythonランチャーでの確認) ■dataclasses-jsonをインストールするdataclasses-jsonをインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。 pip i

                                          JSONとの間でデータクラスを簡単にシリアル化できる「dataclasses-json」のインストール
                                        • Pythonでarrowとdataclasses-jsonを用いて現在の日時を取得しJSON形式に変換する

                                          Pythonでarrowとdataclasses-jsonを用いて現在の日時を取得しJSON形式に変換してみます。 今回はarrowとdataclasses-jsonを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。 ■Python 今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows11) ■arrowとdataclasses-jsonを用いて現在の日時を取得しJSON形式に変換するでは、早速arrowとdataclasses-jsonを用いて現在の日時を取得しJSON形式に変換(シリアライズ)するスクリプトを書いていきます。 ■コードimport arrow from dataclasses import dataclass from dataclasses_json import

                                            Pythonでarrowとdataclasses-jsonを用いて現在の日時を取得しJSON形式に変換する
                                          • mysql5.7でjson用カラムをdataclassesで形式を固定する - Qiita

                                            背景 mysql5.7 DBにjson形式でデータを保存する backendだけで処理じゃなくて、aws lambdaも処理するので、保存されるjsonの形式を管理したい 対策 dataclassesでjson形式を固定する dataclasses-jsonよりコンバートする request -> dict -> dataclass -> json -> DB DB -> json -> dataclass -> dict -> response dataclasses-json紹介 https://pypi.org/project/dataclasses-json/ Pythonのdataclassをdictやjsonと相互に変換する方法を解説! 対応 dataclasses from dataclasses import dataclass from dataclasses_json

                                              mysql5.7でjson用カラムをdataclassesで形式を固定する - Qiita
                                            1