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

相关推荐
irises17 小时前
从零实现2D绘图引擎:4.矩形与文本的实现
前端·数据可视化
前端_逍遥生17 小时前
Vue 2 vs React 18 深度对比指南
前端·vue.js·react.js
nil17 小时前
shortcutkey:跨平台快捷键管理工具的设计与实现
python·开源·github
irises17 小时前
从零实现2D绘图引擎:2.Storage和Painter的实现
前端·数据可视化
攻城狮杰森17 小时前
Eudic → Maimemo 自动同步工具:欧路词典 & 墨墨背单词
python·api·shell·ai编程·欧路词典·墨墨本单词
irises17 小时前
从零实现2D绘图引擎:3.交互系统(Handle)的实现
前端·数据可视化
( •̀∀•́ )92017 小时前
高性能拖拽排序
java·开发语言·算法
Ayanami_Reii17 小时前
进阶数据结构应用-区间最大公约数
开发语言·数据结构·算法·线段树·差分·树状数组·fenwick tree
Vince的修炼之路18 小时前
用Python将JSON格式文件数据导入到Elasticsearch上
python
irises18 小时前
从零实现2D绘图引擎:1.实现数学工具库与基础图形类
前端·数据可视化