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

相关推荐
??(lxy)14 小时前
java高性能无锁队列——MpscLinkedQueue
java·开发语言
2501_9071368214 小时前
python 界面元素控件库工具,可以看到python的可视控件和使用方法
python·软件需求
数研小生14 小时前
Full Analysis of Taobao Item Detail API taobao.item.get
java·服务器·前端
2301_7657031414 小时前
开发一个简单的Python计算器
jvm·数据库·python
yj155814 小时前
客厅阳台改卧室需要注意什么?
python
2401_8384725114 小时前
C++图形编程(OpenGL)
开发语言·c++·算法
boss-dog14 小时前
关于强化学习入门理解和示例
python·强化学习
Shirley~~15 小时前
Vue-skills的中文文档
前端·人工智能
一只理智恩15 小时前
筹备计划·江湖邀请令!!!
python·langchain
毎天要喝八杯水15 小时前
搭建vue前端后端环境
前端·javascript·vue.js