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

相关推荐
Lee川1 分钟前
打字机是怎么炼成的:Chat 流式输出深度解析
前端·后端·面试
前端若水5 分钟前
过渡(transition)高级:贝塞尔曲线、硬件加速
前端·css·css3
Lee川7 分钟前
Token 无感刷新与 Logout:前端安全会话管理实战
前端·后端·react.js
不会敲代码19 分钟前
我写了一个 HTML 文件,把 JS 事件循环彻底搞懂了
前端·javascript·面试
风噪13 分钟前
centos7 python3.13全套安装(可用于离线复制)
python
feng_blog668814 分钟前
C++线程池|解决死锁、崩溃、丢任务所有痛点
java·开发语言·c++
写不来代码的草莓熊17 分钟前
SVG 图标插件误读 PNG 图片 + Vite 重启缓存失效重新生成 + 浏览器严格渲染
前端
天天进步201521 分钟前
魔音漫创源码解析:状态管理——复杂长链路下的状态同步:Zustand 在多面板协作中的应用
开发语言·架构
燐妤23 分钟前
前端HTML编程3:初识CSS
前端·html5
UXbot25 分钟前
独立设计师UI设计工具推荐(2026):支持AI原型生成与代码导出的5款工具全面评价
前端·人工智能·低代码·ui·交互·产品经理·web app