python面向对象经典案例

python面向对象经典案例,第1张

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):
        #q的型号
        self.model=model
        #子d的数量
        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()

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/580446.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存