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

相关推荐
sali-tec10 分钟前
C# 基于halcon的视觉工作流-章32-线线测量
开发语言·人工智能·算法·计算机视觉·c#
普通码农11 分钟前
Element Plus 数字输入框箭头隐藏方案
前端
IMER SIMPLE13 分钟前
人工智能-python-深度学习-神经网络VGG(详解)
人工智能·python·深度学习
草字25 分钟前
css flex布局,设置flex-wrap:wrap换行后,如何保证子节点被内容撑高后,每一行的子节点高度一致。
前端·javascript·css
little_xianzhong31 分钟前
Java 日期字符串万能解析工具类(支持多种日期格式智能转换)
java·开发语言
Slice_cy43 分钟前
深入剖析Vue框架:实现精简的computed
前端
Dersun44 分钟前
python学习进阶之异常和文件操作(三)
开发语言·python·学习·json
我好喜欢你~44 分钟前
C#---Expression(表达式)
开发语言·c#
局i44 分钟前
ES6 类与继承:现代 JavaScript 面向对象编程
前端·javascript·es6
白菜上路1 小时前
C# Web API Mapster基本使用
前端·c#