网站制作学习网Python→正文:python 中的dataclass直接初始化属性
字体:

python 中的dataclass直接初始化属性

Python 2023/12/16 18:17:43  点击:不统计

原载于:转www.载for网站制作学习asp必.cn究
 在 python3.7 后新增了一个 类的类型 dataclass 模块用于简化创建类的过程,特别是用于存储数据的类。它提供了一种更简洁、更易读的方式来定义类,同时自动生成一些常见的特殊方法,如 __init__、__repr__、__eq__ 等,以及默认的属性访问方法。
看下面代码例子:

from dataclasses import dataclass


@dataclass(frozen=True)
class Person:
name: str
age: int
city: str


# 创建一个 Person 实例
# 自动实现__init__
# 将属性赋值
person1 = Person("Alice", 30, "New York")
person2 = Person("Alice", 31, "New York")

# 自动实现__repr__
# 直接输出 "Person(name={self.name}, age={self.age}, city={self.city})"
print(str(person1))

# 自动实现 __eq__ 和 __ne__
# 判断对象的每个属性是否相同 和 不同
print(person1 == person2)
print(person1 != person2)

# 自动实现哈希 __hash__ 切记 dataclass(frozen=True) 后面必须有 frozen=True
print(hash(person2))

原载于:网f站o学a习s制p作.cn

·上一篇:python导出虚拟环境依赖 >>    ·下一篇:python激活虚拟环境 >>
推荐文章
最新文章