二、Python开发---15、面向对象练习
发布时间:2020-12-20 10:20:35 所属栏目:Python 来源:网络整理
导读:餐馆 1、第一步:创建一个名为Restaurant的类,其方法__init__()用于设置两个属性:restaurant_name 和 cuisine_type(烹饪);创建一个名为describe_restaurant()方法和一个名为open_restaurant ()方法,其中前者打印前述两项信息,而后者打印一条消
餐馆1、第一步:创建一个名为Restaurant的类,其方法__init__()用于设置两个属性:restaurant_name 和 cuisine_type(烹饪);创建一个名为describe_restaurant()方法和一个名为open_restaurant ()方法,其中前者打印前述两项信息,而后者打印一条消息,指出餐馆正在营业;根据这个类创建一个名为restaurant的实例,分别打印其两个属性,再调用前述两个方法2、第二步:根据第一步编写的类创建三个实例,并对每个实例调用方法 describe_restaurant()3、第三步:添加一个名为number_served的属性,代表就餐人数,并将其默认值设置为0;打印有多少人在这家餐馆就餐,然后修改这个值并再次打印它;添加一个名为set_number_served()的方法,它让你能够设置就餐人数,调用这个方法并向它传递一个值,然后再次打印这个值;添加一个名为increment_number_served()的方法,它让你能够将就餐人数递增,调用这个方法并向它传递一个这样的值,用于表示餐厅又来了几名顾客,并显示当前就餐人数class Restaurant(): def __init__(self,restaurant_name,cuisine_type,number_served = 0): #声明三个实例属性 self.restaurant_name = restaurant_name #餐馆名字 self.cuisine_type = cuisine_type #菜系 self.number_served = number_served #就餐人数 def describe_restaurant(self): print(‘名称:%s;菜系:%s‘%(self.restaurant_name,self.cuisine_type)) def open_restaurant(self): print(‘欢迎光临%s,正在营业‘%self.restaurant_name) #设置就餐人数 def set_number_served(self,n): self.number_served = n #通过传递的参数给实例属性赋值 print(‘当前就餐人数:%d‘%self.number_served) #递增增加就餐人数 def increment_number_served(self,n): for i in range(1,n+1): self.number_served += 1 print(‘当前就餐人数:%d‘%self.number_served) if __name__ == ‘__main__‘: restaurant = Restaurant(‘金拱门‘,‘西餐‘) #打印两个属性 print(restaurant.restaurant_name) #输出为金拱门 print(restaurant.cuisine_type) #输出为西餐 #调用两个方法 restaurant.describe_restaurant() #输出为 名称:金拱门;菜系:西餐 restaurant.open_restaurant() #输出为 欢迎光临金拱门,正在营业 chuancai = Restaurant(‘我家酸菜鱼‘,‘川菜‘) chuancai.describe_restaurant() #输出为 名称:我家酸菜鱼;菜系:川菜 xiangcai = Restaurant(‘沪上湘城‘,‘湘菜‘) xiangcai.describe_restaurant() #输出为 名称:沪上湘城;菜系:湘菜 loulan = Restaurant(‘楼兰‘,‘新疆菜‘) loulan.describe_restaurant() #输出为 名称:楼兰;菜系:新疆菜 print(‘就餐人数:%d‘%loulan.number_served) #输出为 就餐人数:0 loulan.number_served = 10 #通过对象名.属性名来设置属性值 print(‘就餐人数:%d‘ % loulan.number_served) #输出为 就餐人数:10 loulan.set_number_served(40) #输出为 当前就餐人数:40 loulan.increment_number_served(10) #输出为 当前就餐人数:50 用户1、创建一个名为User的类,其中包含属性first_name和last_name,还有用户简介通常会存储的其他几个属性,在类User中定义一个名为describe_user()的方法,它打印用户信息摘要;再定义一个名为greet_user()的方法,它向用户发出个性化的问候;2、尝试登录次数:在创建User类后,添加一个名为login_attempts的属性;编写一个名为increment_login_attempt()的方法,它将属性 login_attempts的值加 1;再编写一个名为reset_login_attempts()的方法,它将属性login_attempts的值重置为0;??? 3、根据User类创建一个实例,再调用方法increment_login_attempts()多次;打印属性login_attempts的值,确认它被正确地递增;然后,调用方法reset_login_attempts(),并再次打印属性login_attempts的值,确认它被重置为0class User(): def __init__(self,first_name,last_name,age,sex,phone=0,login_attempts=0): #初始化 实例属性 self.first_name = first_name self.last_name = last_name self.age = age self.sex = sex self.phone = phone self.login_attempts = login_attempts #查看用户信息 def describe_user(self): print(‘大家好我叫%s %s,我今年%d岁,我的电话是%s‘%(self.first_name,self.last_name,self.age,self.phone)) #个性化问候 def greet_user(self): print(‘尊敬的%s %s,恭喜你中了五百万‘%(self.first_name,self.last_name)) #增加登录次数 def increment_login_attempts(self): self.login_attempts += 1 print(‘当前登录次数%d‘%self.login_attempts) #重置登录次数 def reset_login_attempts(self): self.login_attempts = 0 print(‘当前登录次数%d‘%self.login_attempts) if __name__ == ‘__main__‘: joe = User(‘joe‘,‘black‘,19,‘男‘,‘18600009999‘) joe.describe_user() #输出为 大家好我叫joe black,我今年19岁,我的电话是18600009999 joe.greet_user() #输出为 尊敬的joe black,恭喜你中了五百万 joe.increment_login_attempts() #输出为 当前登录次数1 joe.increment_login_attempts() #输出为 当前登录次数2 joe.increment_login_attempts() #输出为 当前登录次数3 joe.reset_login_attempts() #输出为 当前登录次数0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |