开发者学堂课程【Python 入门 2020年版:练习3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10412
练习3
内容简介:
一、展示所有宠物信息
二、宠物狗类信息
三、宠物猫类信息
四、把宠物数据加到宠物店中
一、展示所有宠物信息
题目:宠物店类 PetShop
属性:店名,店中的宠物【使用列表存储宠物】
方法:展示所有宠物的信息
方法一:
class PetShop(object):
def _init_(self, shop_name,pet_list=None) :
self.shop_name = shop_name
if pet_list is None:
pet_list = []
self.pet_list = pet_list#传数据的时候可以不给参数,只传名字,没有数据默认为空列表
def show_pets(self):
pass
ps = PetShop('萌宠",[ ])
方法二:
class PetShop(object) :
def _init_(self, shop_name) :
self.shop_name = shop_name
self.pet_list =[ ] #数据默认为空格,不接入参数
def show_pets(self):
pass
ps = PetShop(萌宠)
两种方法的区别是方法一可以传数据也可以不传数据,而方法二是不能传数据的只能输入店名。
二、宠物狗类信息
宠物狗类 PetDog
属性:昵称,性别,年龄,品种
方法:叫,拆家,吃饭
class PetDog(object) :
def _init_(self, name,gender, age, breed) :
self.name = name
self.gender = gender
self.age = age
self.breed = breed
def bark(self):
print(self.name +'正在汪汪汪')
def build_home( self):
print(self.name + '正在拆家')
def eat(self):
print(self.name + '正在啃骨头’)
三、宠物猫类信息
宠物猫类 PetCat
属性:昵称,性别,年龄,品种,眼睛的颜色
方法:叫,撒娇,吃饭
注意:狗的叫声是汪汪,瞭猫的叫声是啪
狗吃的是骨头,猫吃的是鱼
c1ass PetCat(object):
def ___init__(self, name,gender,age,breed,eyes_color):
self.name = name
self.gender = gender
self.age = age
self.breed = breed
self.eyes_color = eyes_color
def bark(self):
print(self.name + '正在啪瞄瞄")
def sajiao(self);
print(self.name +'正在撒娇")
def eat(self):
print(self.name +‘正在吃鱼")
def _str__(self): #调用父类的方法(后面会添加父类)
x= super(Petcat,self)._str_( )
x +=“,眼睛颜色:”.format(self.eyes_color)
return x
也可以在代码中加入以下父类内容,以用来丰富代码,方便后续加入数据
class Pet(object) :
def_init_(self, name,gender, age,breed):
self.name = name
self.gender = gender
self.age = age
self.breed = breed
def bark( self):
print(self.name +'正在叫')
def eat(self):
print(self.name + '正在吃东西")
def __str_(self):
return '姓名:{},性别{,年龄:{,品种:{}' .format(self.name,self.gender, self.age, self.breed)
四、把宠物数据加到宠物店中
宠物数据:
dog1 = PetDog('大黄","female', 3,"哈士奇')
dog2 = petDog('二黄', 'male', 2,'萨摩耶"')
cat1 = petCat( 'tom', 'male',2,'英短","blue " )
cat2 = Petcat("包子', "female', 3,‘加菲猫', "black ")
修改列表存储宠物店信息
class Petshop(object) :
def__init__(self,shop_name,pet_list=None):
self.shop_name = shop_name
if pet_list is None:
pet_list = [ ] #没有数据加入就直接是空列表
self.pet_list = pet_list
def show_pets(self):I
if len(self.pet_list) == :
print( '本店还没有宠物')
return #没有宠物直接打印“本店还没有宠物并结束”
print( '有个宠物,它们是:' .format(self.shop_name,len(self.pet_list)))
for pet in self.pet_list:
print(pet) #有宠物则会展示相关信息