python面向对象项目案例(实现商品信息类的封装)

本文通过两个实例介绍了Python面向对象编程的应用,包括创建一个 Medicine 类来封装药品信息,如药名、价格、生产日期和失效日期,并提供获取方法;另外,还实现了 Account 类用于银行账户的资金管理,包括存款、取款和打印交易详情功能。
摘要由CSDN通过智能技术生成

1.实现商品信息类的封装

  1. 商品信息类的封装
    电影《我不是药神》上映后, 口碑极高, 一种名为”格列宁”的进口药为人们所熟知,医药 话题也引起了人们热烈的讨论。 下面按照要求定义一个药品 Medicine 类。
    Medicine 类的属性如下:
    药名 name
    价格 price
    生产日期 PD
    失效日期 Exp
    Medicine 类的方法如下:
    获取药品名称 get_name()返回类型: str
    计算保质期(失效日期和生产热情的时间间隔) get_GP()返回类型: str
    计算药品是否过期? is_expire()返回类型:Bool
    商品名称和生产日期只能查看不能修改。
    拓展知识: datetime 模块
    strptime(): 用户输入的日期和时间是字符串,要处理日期和时间,首先必须把 str 转换为 datetime 对象。

from datetime import datetime

class Medicine(object):
    def __init__(self, name, price,PD,Exp):
        self.name = name
        self.price=price
        self.PD=PD
        self.Exp=Exp
    def get_name(self):
        return self.name
    def get_GP(self):
        start = datetime.strptime(self.PD,'%Y-%m-%d')
        end=datetime.strptime(self.Exp,'%Y-%m-%d')
        GP=end-start
        return GP.days
    def is_expire(self):
        today=datetime.now()
        oldday=datetime.strptime(self.Exp,'%Y-%m-%d')
        if today>oldday:
            return True
        else:
            return  False

if __name__ == '__main__':
    medicineObj=Medicine('感冒胶囊',100,'2019-1-1','2019-3-1')
    print('name:',medicineObj.get_name())
    print('药品保质期为:',medicineObj.get_GP())
    print('药品是否过期:','药品过期' if medicineObj.is_expire() else '药品未过期')


在这里插入图片描述

2.银行账户资金交易管理

用类和对象实现一个银行账户的资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余额。
在这里插入图片描述
下面按照要求定义一个账户 Account 类。账户 Account 类的属性:

  1. 当前账户金额 money
  2. 当前账户交易日志 account_logs

账户 Account 类的方法:
3. 存钱 deposit()无返回值
4. 取钱 withdrawl()无返回值
5. 打印交易详情 transaction_log()无返回值

#coding: utf-8
import  time
import prettytable as pt
money = 0
acount_logs = []
class Account:
    def __init__(self):
        global  money
        self.money = money
        self.acount_logs = acount_logs
    def 
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值