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

相关推荐
沐知全栈开发1 分钟前
CSS3 按钮
开发语言
程序员的那些事_4 分钟前
微软用 Rust 开发了一个库操作系统 LiteBox
开发语言·后端·rust
xyq20249 分钟前
React 表单与事件
开发语言
得一录13 分钟前
Python 算法高级篇:布谷鸟哈希算法与分布式哈希表
python·算法·aigc·哈希算法
leo_23214 分钟前
IP--SMP(软件制作平台)语言基础知识之六十四
服务器·开发语言·tcp/ip·企业信息化·smp(软件制作平台)·应用系统·eom(企业经营模型)
郝学胜-神的一滴14 分钟前
Effective Modern C++ 条款37:使std::thread在所有路径最后都不可结合
开发语言·c++·程序人生·多线程·并发·std
Faker66363aaa16 分钟前
基于Cascade-Mask-RCNN和RegNetX-4GF的果蝇检测与识别系统——COCO数据集训练与优化
python
聂 可 以19 分钟前
解决Pycharm中(Python)软件包下载速度很慢、甚至下载失败的问题
ide·python·pycharm
七夜zippoe19 分钟前
强化学习实战指南:从Q-Learning到PPO的工业级应用
python·openai·超参数调优·q-learning·mdp
SuperEugene19 分钟前
数组查找与判断:find / some / every / includes 的正确用法
前端·javascript