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激活虚拟环境 >>