Python类和对象的定义与实际应用案例分析类和对象的定义与实际应用案例分析
本文实例讲述了Python类和对象的定义与实际应用。分享给大家供大家参考,具体如下:
1.DVD管理系统管理系统
# -*- coding:utf-8 -*-
#! python3
class dvd:
def __init__(self,name,price,state):
self.name=name;
self.price=price
self.state=state
def __str__(self):
stat='已借出';
if self.state==1:
stat='未借出'
return '名称:《%s》 单价:%d 状态:%s'%(self.name,self.price,stat)
class DVDManager:
#存储 多个dvds 每一个元素 都是一个DVD
dvds=[] def init(self):
self.dvds.append(dvd('光辉岁月',10,0));
self.dvds.append(dvd('绅士', 5, 1));
self.dvds.append(dvd('海阔天空', 11, 1));
def Menu(self):
self.init()
while(True):
print('1.查询所有DVD')
print('2.增加DVD')
print('3.借出DVD')
print('4.归还DVD')
print('5.退出')
choose=int(input('请选择:'));
if choose==1:
self.showAllDVD();
elif choose==2:
self.insertDVD();
elif choose==3:
self.jiechuDVD();
elif choose==4:
self.rollBackDVD();
elif choose==5:
print('5.谢谢使用')
break;
def showAllDVD(self):
for d in self.dvds:
print(str(d))
def jiechuDVD(self):
name = input('请输入DVD的名称:')
ret = self.checkDVD(name);
if ret != None:
if ret.state==0:
print('dvd 已经借出去了')
#return;
else:
days=int(input('请输入借出天数:'))
ret.state = 0;
print('借出 %d 天,应还利息%d '%(days,ret.price*days))
else:
print('DVD 不存在!')
def rollBackDVD(self):
name = input('请输入归还DVD的名称:')
ret = self.checkDVD(name);
if ret == None:
print('DVD 不存在!')
else:
if ret.state == 1:
print('dvd 未借出!')
else:
days= int(input('请输入借出去了多少天?'))
y_money=ret.price * days
print('借出 %d 天,应还利息%d ' % (days, y_money))
money=0;
while True:
money= int(input('请输入金额:'))
#带学生完成..
if money<y_money:
print('不够!')