python面向对象经典案例

所有文章不设限,我们相遇偶然,相散坦然,互不打扰,各自安好,向阳而生

demo001

class Bank():
    title = '中国建设银行'

    def name_print(self):
        return "您的余额为2000000000"
bank = Bank()
print("开户行:", bank.title)
print(bank.name_print())

demo002

class Bank():
    title = '123'

    def __init__(self, name, money):
        self.balance = money
        self.name = name

    def get_balance(self):
        return self.balance
bank = Bank('hello', 1000000)
print(bank.title)
print(bank.name.title())
print(bank.get_balance())

demo003

class Bank():
    def __init__(self):
        self.name = input("请输入姓名:")

    def name_print(self):
        return self.name
bank = Bank()
print("姓名:", bank.name_print())

demo004

import random
class Bank():
    def __init__(self):
        self.money = random.randint(100000000, 20000000000)

    def get_money(self):
        money = int(input("请输入取款额度:"))
        self.money -= money
        print('当前余额:%d' % (self.money))

    def save_money(self):
        money = int(input("请输入存款金额:"))
        self.money += money
        print('当前余额:%d' % (self.money))
bank = Bank()
#取款
bank.get_money()
#存款
bank.save_money()

demo005

def get_Max(a, b):
    '''比大小'''
    if int(a) > int(b):
        return a
    else:
        return b
print(get_Max(5, 79))
print(get_Max.__doc__)

demo006

def main():
    print("this is a function")


if __name__ == '__main__':
    main()

demo007

class Persion():
    def __init__(self, name, weight):
        self.name = name
        self.weight = weight

    def __str__(self):
        return "my name is %s,my weight is %s" % (self.name, self.weight)

    def run(self):
        print('%s love run for exercise,it is good for body' % (self.name))
        self.weight -= 0.3

    def eat(self):
        print('%s also love to eat some food which is delicious' % (self.name))
        self.weight+=0.5
persion1=Persion('Mack',70)
print(persion1)
persion1.run()
persion1.eat()

demo008

class HouseItem():
    def __init__(self,name,area):
        self.name=name
        self.area=area
    def __str__(self):
        return "[%s] 占地 %.2f" % (self.name, self.area)
class House:
    def __init__(self,house_type,area):
        self.house_type=house_type
        self.area=area
        #剩余面积
        self.free_area=area
        #家居名称列表
        self.item_list=[]
    def __str__(self):
        return ("户型: %s\n总面积: %.2f[剩余: %.2f]\n家具: %s"
                % (self.house_type, self.area,
                   self.free_area, self.item_list))
    #此处的item就是上面定义的 house_item类
    def add_item(self,item):
        print("要添加 %s" % item)
        #判断要添加的家居面积
        if item.area>self.free_area:
            print("%s对不起,房间已经没有空余地方"%(item.name))
            return
        # 将家具的名称添加到列表中
        self.item_list.append(item.name)
        # 计算剩余面积
        self.free_area -= item.area
        
#创建家居
bed = HouseItem("席梦思", 4)
chest = HouseItem("衣柜", 2)
table = HouseItem("餐桌", 1.5)

print(bed)
print(chest)
print(table)

# 创建房子对象
my_home = House("两室一厅", 60)

my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)

print(my_home)

demo009

class Gun:
    def __init__(self,model):
        #枪的型号
        self.model=model
        #子弹的数量
        self.bullet_count=0
    def add_bullet(self,count):
        self.bullet_count+=count
    def shoot(self):
        if self.bullet_count<=0:
            print("%s子弹剩余个数:%s"%(self.model,self.bullet_count))
            return
        # 发射子弹
        self.bullet_count-=1
        print("=======>")
class Soldier:
    def __init__(self,name):
        self.name=name
    def fire(self):
        if self.gun is None:
            print("武器库为空")
            return
        print("Come on")
        self.gun.add_bullet
        self.gun.shoot()

Mygun=Gun("巴雷特")
persion=Soldier("许三多")
persion.gun=Mygun
persion.fire()

#加子弹
Mygun.add_bullet(100)
#发射
persion.fire()

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小辉同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值