python @dataclass datetime

发布时间:2026/9/27 18:45:16

python @dataclass datetime
dataclass是 Python 自带的一个装饰器dataclasses模块作用是自动帮你生成__init__、__repr__、__eq__等样板代码。不用 dataclass 时class ParseDTOContext: def __init__(self, username: str, file_name: str, file_type: str, ...): self.username username self.file_name file_name self.file_type file_type # ... 几十个字段用了 dataclass 后dataclass class ParseDTOContext: username: str file_name: str file_type: str # ... 只需要写字段声明__init__ 自动生成property的本质好处说明语法简洁访问时不用加()读起来像数据属性不像方法调用封装逻辑把计算/判断逻辑隐藏在后面调用方不需知道实现细节向后兼容如果一开始是普通属性后来想改成需要计算的值加property即可调用方代码不用改一句话property让你用访问属性的方式执行方法逻辑。当你想让一个方法用起来像属性时就用它。from dataclasses import dataclass from datetime import datetime 因为项目里大量需要在不同模块/步骤之间传递结构化数据解析上下文、分片结果、文档内容等。 用 dataclass 比手写 __init__ 省 80% 的样板代码比用普通 dict 有更好的类型提示和 IDE 补全。 dataclass class Person: name: str age: int def to_dict(self): return { name: self.name, age: self.age } property def information(self): return self.name ,年龄 str(self.age) 岁 if __name__ __main__: p1 Person(Tom, 18) p2 Person(Jay, 20) p3 Person(Sunny, 22) Person(nameTom, age18) Person(nameJay, age20) Person(nameSunny, age22) print(p1, p2, p3) print(p1.to_dict()) 使用Property将方法变成属性直接调用可以忽略运算逻辑 输出结果Tom,年龄18岁 print(p1.information) 2026-07-26 18:22:24.769422 class datetime.datetime print(datetime.now(),type(datetime.now())) 2026-07-26T18:21:40.532757 class str str_with_T_time datetime.isoformat(datetime.now()) print(str_with_T_time,type(str_with_T_time)) 2026-07-26 18:20:43 class str time_str datetime.strftime(datetime.now(), %Y-%m-%d %H:%M:%S) print(time_str,type(time_str))

相关新闻

一张白底图成本从¥15→¥0.37?(2024头部MCN内部AI白底流水线全拆解,含Lora训练数据集链接)

一张白底图成本从¥15→¥0.37?(2024头部MCN内部AI白底流水线全拆解,含Lora训练数据集链接)

2026/9/27 18:44:41

更多请点击: https://intelliparadigm.com 第一章:一张白底图成本从15→0.37?——AI驱动的电商视觉降本革命 在传统电商运营中,一张高质量白底主图的制作流程包含模特拍摄、专业布光、背景抠图、边缘精修、尺寸适配与平台合规校验…

仿真全过,上板却随机出错?FPGA 时序约束漏写的真实后果

仿真全过,上板却随机出错?FPGA 时序约束漏写的真实后果

2026/8/23 1:28:06

前言FPGA 代码仿真正常,并不代表硬件能够稳定运行。时序约束一旦漏写,工具可能不分析关键路径,也不会针对这些路径进行正确优化。本文结合时钟、输入输出、衍生时钟、跨时钟域和多周期路径,讲清漏写约束的真实后果,并给…

新手入门桌面自动化,OpenClaw 整合包部署避坑与故障完整解析(含安装包)

新手入门桌面自动化,OpenClaw 整合包部署避坑与故障完整解析(含安装包)

2026/8/23 1:28:06

OpenClaw v2.7.9 本地智能数字员工搭建指南,双系统整合包极简部署 工具基础信息 适配系统:Windows 10/11 64 位、macOS 12 及以上系统 当前版本:v2.7.9(虾壳云适配稳定版本) 工具特点:全程图形可视化操作…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/26 19:14:12

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/27 1:30:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/27 1:30:37

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/27 1:30:35

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/27 1:30:34

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/26 16:36:51

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/26 14:29:04

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/26 13:57:22

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/26 23:35:16

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…