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

相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
默_笙2 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
前端小万2 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
qq_426003962 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
三十而立洋2 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
长沙三为智能科技2 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python