每日Python小技巧--dataclass

42 篇文章 0 订阅
37 篇文章 0 订阅

欢迎关注微信公众号“Python小灶,和我一起每天学习Python新知识”,还可添加博主Vx:yf03064131,方便一起交流学习。
在这里插入图片描述
或者B站搜索 有只小新

dataclass的使用

Python3.7 提供了一个装饰器dataclass,用以把一个类转化为dataclass。

你需要做的就是把类包裹进装饰器里:

from dataclasses import dataclass
@dataclass
class A:

from dataclasses import dataclass


# before
class Number:
    def __init__(self, val):
        self.val = val


one = Number(1)
print(one.val)


# after
@dataclass
class Number:
    val: int


one = Number(1)
print(one.val)

dataclass带来的变化

以下是dataclass装饰器带来的变化:

1、无需定义__init__,然后将值赋给self,dataclass负责处理它(LCTT 译注:此处原文可能有误,提及一个不存在的d)
2、我们以更加易读的方式预先定义了成员属性,以及类型提示。我们现在立即能知道val是int类型。这无疑比一般定义类成员的方式更具可读性。
它也可以定义默认值:

@dataclass
class Number:
    val:int = 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值