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

相关推荐
用户9481817675442 分钟前
超越NAT:如何构建高效、安全的内网穿透隧道
前端
明天的明6 分钟前
vue双向数据绑定失效
前端
bug_kada8 分钟前
前端路由:深入理解History模式
前端·面试
bug_kada10 分钟前
前端路由:Hash vs History,一篇讲明白!
前端·面试
李明卫杭州13 分钟前
CSS 中 nth-child 选择器的详细用法和示例
前端
会豪13 分钟前
CSS 动画属性精讲:从基础到实战
前端·css
Ticnix19 分钟前
vue的draggable拖拽属性+Echarts实现可视化自定义数据看板
前端
XTransfer技术20 分钟前
RN也有微前端框架了? Xtransfer的RN优化实践(一)多bundle架构
前端·react native
Mintopia20 分钟前
Next 全栈之 API 测试:Supertest 与 MSW 双雄记 🥷⚔️
前端·javascript·next.js
泽泽爱旅行21 分钟前
awk 语法解析-前端学习
linux·前端