dataclass的作用

dataclasss的作用

复制代码
from dataclasses import dataclass

@dataclass
class Person:
    name: str
    age: int
    gender: str = 'unknown'

# __init__方法用于初始化对象的属性。当创建一个类的实例时,Python会自动调用__init__方法来初始化对象的属性。例如,可以在__init__方法中为对象的属性赋初值。
person1 = Person('Alice', 25, 'female')
person2 = Person('Bob', 30, 'male')
person3 = Person('Alice', 25, 'female')

# __repr__方法用于返回对象的字符串表示。当使用print函数或者在交互式环境中输入对象名时,Python会自动调用__repr__方法来返回对象的字符串表示。例如,可以在__repr__方法中返回一个包含对象属性的字符串表示。
print(person1)
print(person2)
print(person3)
#  __eq__方法用于比较两个对象是否相等。当使用==运算符比较两个对象时,Python会自动调用__eq__方法来比较对象是否相等。例如,可以在__eq__方法中比较对象的属性是否相等。
print(person1 == person2)  # 输出:False
print(person1 == person3)  # 输出:True

输出结果:

Person(name='Alice', age=25, gender='female')

Person(name='Bob', age=30, gender='male')

Person(name='Alice', age=25, gender='female')

False

True

相关推荐
code bean5 分钟前
Flask图片服务在不同网络接口下的路径解析问题及解决方案
后端·python·flask
努力的小郑16 分钟前
2025年度总结:当我在 Cursor 里敲下 Tab 的那一刻,我知道时代变了
前端·后端·ai编程
翔云 OCR API18 分钟前
发票查验接口详细接收参数说明-C#语言集成完整示例-API高效财税管理方案
开发语言·c#
Chasing Aurora24 分钟前
Python后端开发之旅(三)
开发语言·python·langchain·protobuf
GIS之路26 分钟前
GDAL 实现数据空间查询
前端
OEC小胖胖41 分钟前
01|从 Monorepo 到发布产物:React 仓库全景与构建链路
前端·react.js·前端框架
kong79069281 小时前
Java基础-Lambda表达式、Java链式编程
java·开发语言·lambda表达式
2501_944711431 小时前
构建 React Todo 应用:组件通信与状态管理的最佳实践
前端·javascript·react.js
lixzest1 小时前
C++上位机软件开发入门深度学习
开发语言·c++·深度学习
困惑阿三2 小时前
2025 前端技术全景图:从“夯”到“拉”排行榜
前端·javascript·程序人生·react.js·vue·学习方法