Python 类对象练习02

宠物店类 PetShop
类属性:店名,店中宠物
类方法:展示所有宠物信息

宠物 - 狗类:
属性:昵称、性别、年龄、品种
类方法:叫、拆家、吃

宠物 - 猫类:
属性:昵称、性别、年龄、品种、眼睛颜色
类方法:叫、撒娇、吃

备注:狗的的叫声是汪汪,猫是喵喵
			狗吃骨头,猫吃鱼
# /usr/bin/python3
# —*— encoding:utf-8 —*—
#
# 宠物店类 PetShop
# 类属性:店名,店中宠物
# 类方法:展示所有宠物信息

class PetShop(object):
    def __init__(self, shop_name, pet_list=None):
        self.shop_name = shop_name
        if pet_list is None:
            self.pet_list = []
        self.pet_list = pet_list

    def show_pet(self):
        if self.pet_list is None:
            return '【{}】新开店铺筹备中...'.format(self.shop_name)
        print('【{}】新店开张,有{}个宠物:'.format(self.shop_name, len(self.pet_list)))
        for pet in self.pet_list:
            print(pet)

class Pet(object):
    def __init__(self, name, sex, age, varieties):
        self.name = name
        self.sex = sex
        self.age = age
        self.varieties = varieties

    def eat(self):
        return '在吃东西'

    def call(self):
        return '在叫'

    def __str__(self):
        return '姓名:{},性别:{},年龄:{},品种:{}'.format(self.name, self.sex, self.age, self.varieties)


# 宠物 - 狗类:
# 属性:昵称、性别、年龄、品种
# 类方法:叫、拆家、吃

class Dog(Pet):
    # def __init__(self, name, sex, age, varieties):
    #     super(Dog).__init__(name, sex, age, varieties)

    def call(self):
        return '{}在汪汪汪的叫'.format(self.name)

    def eat(self):
        return '{}正在啃骨头'.format(self.name)

    def dothing(self):
        return '{}在拆家'.format(self.name)


# 宠物 - 猫类:
# 属性:昵称、性别、年龄、品种、眼睛颜色
# 类方法:叫、撒娇、吃

class Cat(Pet):
    def __init__(self, name, sex, age, varieties, eyes_color):
        super(Cat, self).__init__(name, sex, age, varieties)
        self.eyes_color = eyes_color

    def call(self):
        return '{}喵喵喵叫'.format(self.name)

    def eat(self):
        return '{}吃小鱼'.format(self.name)

    def dothing(self):
        return '{}撒娇'.format(self.name)

    def __str__(self):
        x = super(Cat, self).__str__()
        x += ',眼睛颜色:{}'.format(self.eyes_color)
        return x


dog1 = Dog('大黄', 'male', 3, '中华田园犬')
dog2 = Dog('小黑', 'male', 4, '哈士奇')

cat1 = Cat('妙妙', 'female', 3, '巴厘猫', 'Green')
cat2 = Cat('毛毛', 'male', 2, '加菲猫', 'Blue')

Shop = PetShop('疯狂动物园', [dog1, dog2, cat2, cat1])
Shop.show_pet()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值