首页 > 其他分享 >dataclasses模块

dataclasses模块

时间:2024-12-31 11:52:41浏览次数:1  
标签:InventoryItem dataclasses inv cost 模块 print total unit

python通过dataclasses模块提供了dataclass(数据类)对象,适合我们想定义一些类,并且让他们主要用于存放数据。
dataclass: 是一个函数,用做装饰器,把一个类变成数据类。 数据类可以让我们通过简单的方法定义实例属性以及对其赋值,并使用类型提示标明其类型。 通过一些元类的定制化,数据类会自动生成__init__方法,并将类体中定义的属性转变成实例属性。
简单例子如下:

from dataclasses import dataclass

@dataclass
class InventoryItem:
    """Class for keeping track of an item in inventory."""
    name: str
    unit_price: float
    quantity_on_hand: int = 0

    def total_cost(self) -> float:
        return self.unit_price * self.quantity_on_hand


bread_inv = InventoryItem("面包", 5, 3)
milk_inv = InventoryItem("牛奶", 4, 2)

print(bread_inv)
print('面包 total cost:', bread_inv.total_cost())

print('-' * 25, '分隔线', '-' * 25)

print(milk_inv)
print('牛奶 total cost:', milk_inv.total_cost())

输出结果:

InventoryItem(name='面包', unit_price=5, quantity_on_hand=3)
面包 total cost: 15
------------------------- 分隔线 -------------------------
InventoryItem(name='牛奶', unit_price=4, quantity_on_hand=2)
牛奶 total cost: 8

标签:InventoryItem,dataclasses,inv,cost,模块,print,total,unit
From: https://www.cnblogs.com/rolandhe/p/18643667

相关文章

  • 宠物照料模块项目UML图
    ......
  • 宠物照料模块项目原型图
    ......
  • 宠物照料模块项目实验报告
    宠物照料模块项目总结一、组员分工夏鑫哲:硬件各模块驱动控制代码编写硬件各模块电路配置项目大框架指定消息发送协议格式制定姚雨森:硬件主控制函数编写硬件各模块C++对象调用和函数使用设备连接华为云服务器控制和消息发送周涵昕:基于JavaScript的React安卓和网......
  • HarmonyOS EventHub 模块详解
    一、引言EventHub模块在HarmonyOS应用开发中扮演着重要角色,它提供了事件中心的功能,包括事件订阅、取消订阅以及触发事件等操作,为应用内的模块间通信提供了有效的机制。二、模块基本信息接口支持版本:首批接口从APIversion9开始支持,后续版本的新增接口采用上角标单独标记......
  • Java 项目、模块、包
    1.IntelliJIDEA项目结构工程是顶级结构单元,在一个工程下可以创建多个模块,不同模块之间存在依赖关系,一个模块可以创建多个包,一个包可以创建多个类project(工程)-->module(模块)-->package(包)-->class(类)1.1创建项目File-->New-->Project,创建一个名为Java_Proj......
  • 进程的创建--multiprocesssing模块
    进程的创建使用multiprocessing模块创建进程multiprocessing是process模块的高级封装,其对于进程的操作提供了非常多的操作,所以是工作中操作进程的最常用模块。基本使用代码:importos,timeimportmultiprocessingdefwatch(): print("watch-id=",id(watch)) fori......
  • 库卡机器人KR240电源模块维修思路讲解
    一、库卡机器人KR240电源模块故障诊断故障诊断是维修过程中的关键步骤。使用库卡提供的诊断工具或软件,对库卡机器人KR240电源模块进行故障诊断。重点关注电源供应、输出电压、电流等关键参数。通过诊断结果,确定故障的具体位置和性质,为后续的维修工作提供明确方向。二、库卡机器......
  • WiFi+4G摄像头拍照图传模块(夜视2K高清1080P)-各型号摄像头拍照实际图
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>  一,30......
  • 【Nginx应用】nginx stream模块代理MySQL
    其实使用开发机器的nginx一样可以代理数据库,从而实现办公网访问数据库。一、stream模块介绍Nginx的TCP/UDP代理功能的模块分为核心模块和辅助模块。核心模块stream需要在编译配置时增加“--with-stream”参数进行编译【但是我测试的时候,我的开发机并不是这么安装的,直接yumiins......
  • 2024-12-20《OS常用模块操作》
    os模块的常用函数 #os模块与操作系统相关的一个模块importos'''os.system('notepad.exe')os.system('calc.exe')'''os.startfile('C:\\ProgramFiles(x86)\\Tencent\\QQ\\Bin')os模块是Python中用于与操作系统交互的标准库之......