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

相关推荐
0思必得02 分钟前
[Web自动化] HTML列表标签
运维·python·自动化·html·web自动化
weixin_429690722 分钟前
数字人源码部署供应商
人工智能·python
独自破碎E3 分钟前
如何用最短替换让字符串变平衡?
java·开发语言·算法·leetcode
LiuMingXin6 分钟前
可能是你极易忽略的Nginx知识点
前端
老华带你飞8 分钟前
宠物商城销售|基于Java+ vue宠物商城销售管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·宠物
电饭叔11 分钟前
一个构建指定坐标轴在默认点(0,0)的构造方法《python语言程序设计》2018版--第8章17题第2部分
开发语言·笔记·python
qq_2515335911 分钟前
Python 查找元组中列表的数量
开发语言·python
papership14 分钟前
【C++类的基本概念与定义】
开发语言·c++
计算机学姐15 分钟前
基于Python的在线考试系统【2026最新】
开发语言·vue.js·后端·python·mysql·django·flask
曾几何时`17 分钟前
字符串(七)409. 构造出来的最长回文串
java·前端·javascript