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

相关推荐
我命由我12345几秒前
Android 开发问题:TextView 内容超过宽度时,默认不会换行
android·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
计算机安禾1 分钟前
【c++面向对象编程】第36篇:析构函数应永远不抛出异常——原因与最佳实践
开发语言·c++
小飞侠是个胖子3 分钟前
在 WebGL 中构建高性能 3D 沉浸式系统的三套高阶方案
前端·3d
香蕉鼠片3 分钟前
CUDA、PyTorch、Transformers、PEFT 全栈详解
人工智能·pytorch·python
MediaTea3 分钟前
PyTorch:张量与基础计算模块
人工智能·pytorch·python·深度学习·机器学习
浪子sunny3 分钟前
2026股票实时行情数据Skills技能分享
大数据·人工智能·python
一条泥憨鱼4 分钟前
【Java 进阶】LinkedHashMap 与 TreeMap
java·开发语言·数据结构·笔记·后端·学习
ゆづき4 分钟前
假如编程语言们有外号
java·c语言·c++·python·学习·c#·生活
wh_xia_jun5 分钟前
Vue3 + Vitest 浏览器测试 从零开发指南
前端·javascript·vue.js
深度学习lover5 分钟前
<数据集>yolo 电线杆识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·电线杆识别