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

相关推荐
meilindehuzi_a1 分钟前
掌握 ES6 核心语法与大模型(NLP)项目工程化搭建指南
前端·自然语言处理·es6
指尖的爷1 分钟前
C++头文件的作用
开发语言·c++
keykey6.1 分钟前
反向传播与梯度下降:神经网络如何学习
开发语言·人工智能·深度学习·机器学习
Jun6267 分钟前
QT(5)-第三方日志系统
开发语言·数据库·qt
IT_陈寒8 分钟前
Vue组件通信这个坑我跳了两次才知道怎么爬出来
前端·人工智能·后端
冰暮流星11 分钟前
javascript建立对象之构造函数
开发语言·javascript·ecmascript
张哈大11 分钟前
MCP:重塑AI工具调用的统一标准,告别重复造轮子的时代
人工智能·python·ai·prompt
极光代码工作室12 分钟前
基于深度学习的智能图像识别平台
python·深度学习·机器学习·ai·系统设计
smallswan15 分钟前
第十四 算数运算
linux·服务器·前端
AI_零食16 分钟前
甄嬛人物日志-朗读升级 - 鸿蒙PC Electron框架完整技术实现指南
前端·学习·华为·electron·鸿蒙·鸿蒙系统