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

相关推荐
m0_7403524213 小时前
mysql安装完成后如何配置慢查询阈值_mysql日志监控方法
jvm·数据库·python
m0_7407963613 小时前
如何查找SQL中最常见的元素_结合GROUP BY与COUNT
jvm·数据库·python
wang3zc13 小时前
HTML怎么标注成就连续打卡中断_HTML“断连,重新开始”提示【方法】
jvm·数据库·python
_3762715313 小时前
如何正确验证 GOPATH 和 PATH 环境变量是否生效
jvm·数据库·python
QD_ANJING13 小时前
普及一下五月AI前端面试需要达到的强度....
前端·javascript·vue.js·人工智能·面试·职场和发展
AI自动化工坊13 小时前
Chrome DevTools MCP:让AI编码代理获得浏览器调试能力
前端·人工智能·chrome devtools
李少兄13 小时前
解决 java.net.ConnectException: Connection refused 报错
java·开发语言·.net
m0_7364393013 小时前
如何在phpMyAdmin中处理权限更改不生效_FLUSH PRIVILEGES命令执行
jvm·数据库·python
ZC跨境爬虫13 小时前
跟着 MDN 学 HTML day_26:(DOM 的树形结构与节点导航)
前端·ui·html·音视频·视频编解码
2401_8246976613 小时前
优化文本分类中堆叠模型的网格搜索性能:避免训练卡顿的实用指南
jvm·数据库·python