Skip to content

Dataclasses

基础用法

使用frozen参数

默认的dataclass因为不支持 hash 导致无法作为 set 的一个元素.

通过添加frozen=True, 使对象支持 hash.

同时, 所有属性在实例化之后仅可读,不可修改

查看代码示例
@dataclass(frozen=True)
class DouyinPlaywrightTask:
    username: str
    cookie: str

使用 asdict 转换为 dict

通过 asdict 函数将Dataclass 实例转换为 dict 对象

查看代码示例
import json
from dataclasses import dataclass, asdict
@dataclass
class CurlDetail:
    url: str
    body: str | None
    headers: dict
    method: str

    def to_json(self) -> str:
        return json.dumps(asdict(self), ensure_ascii=False)