四时宝库

程序员的知识宝库

python编程:数据类 dataclass 的使用

__init__初始化函数的简单写法

  • 类的初始化方法一般是这么定义的
  • self.变量名 = 参数, 需要写很多遍,显得不优雅以及繁琐
# 定义一个购物清单类,传入物品名字,价格,想买的意愿
class Buy:
    def __init__(self, name, price, want):
        self.name = name
        self.price = price
        self.want = want


  • 使用 dataclass 可以不用编写self.变量名 = 参数
from dataclasses import dataclass


@dataclass
class Buy:
    name: str
    price: int
    want: str


b = Buy("苹果", 4, "购买意愿很大")
print(b.name)


dataclass的方法

  • def dataclass(cls=None, /, *, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False, match_args=True, kw_only=False, slots=False)
  • 可以通过使用 True 和 False 来决定是否使用方法
from dataclasses import dataclass

# 会自动生成生成init
@dataclass(init=True, repr=False)
class Buy:
    name: str
    price: int
    want: str

b = Buy("苹果", 4, "购买意愿很大")
print(b.name)

# 显示属性的方法
print(b)

#  可以通过 repr=False或者True查看输出的不同
#  False输出: <__main__.Buy object at 0x0000029B16727D00>
 # True输出: Buy(name='苹果', price=4, want='购买意愿很大')
  


感谢浏览,如果您有什么问题和建议,请留言,期待共同的进步~

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接