python class用法

2020-01-17 14:42:28 浏览数 (1)

创建一个名为 Restaurant 的类,其方法 __init__() 设置两个属性:

name 和 type 

1、创建一个名为 describe_restaurant() 的方法,前者打印前述两项信息

2、创建一个名为 open_restaurant() 的方法,打印一条消息,指出餐馆正在营业

3、创建一个名为 working_time ()的方法,打印一条消息,指出餐馆营业历史

4、创建一个名为 update_year() 的方法,打印一条消息,更新餐馆营业时间,且更新时间要比原有时间大

5、创建一个名为 increat_years 的方法,打印一条消息,在原有时间的基础之上增加新的营业时间

代码语言:javascript复制
#!/usr/bin/env python
# -*- coding:utf-8 -*- 

class Restaurant():
    def __init__(self,name,type):
        '''初始化属性name/type和属性years默认值为100'''
        self.name=name
        self.type=type
        self.years=100
    def describe_restaurant(self):
        '''描述餐馆的名称以及类型'''
        print("the restaurant'name is "   self.name.title()
                " it's a "
                self.type
                " restaurant.")
    def open_restayurant(self):
        '''指出餐馆正在营业'''
        print("the restaurant is working.")
    def working_time(self):
        '''指出餐馆营业时间'''
        print("the restaurant has working "   str(self.years)   "!")
    def update_year(self,years):
        '''更新餐馆营业时间,此值只能大于原有时间设置'''
        if years >= self.years:
            self.years = years
        else:
            print('you can not roll back !')
    def increat_years(self,time):
        '''从原有时间基础之上增加新的餐馆营业的时间'''
        if time >= 0:
            self.years  = time
        else:
            print('请输入不小于0的值')

#调用
my_restaurant=Restaurant('HAOZAILAI','CHINESE')
print(my_restaurant.name.title())
print(my_restaurant.type)
my_restaurant.describe_restaurant()
my_restaurant.open_restayurant()
my_restaurant.working_time()

'''直接访问属性修改属性'''
# my_restaurant.years=200
'''利用方法修改属性'''
my_restaurant.update_year(200)

my_restaurant.working_time()
my_restaurant.increat_years(10)
my_restaurant.working_time()

结果:

代码语言:javascript复制
Haozailai
CHINESE
the restaurant'name is Haozailai it's a CHINESE restaurant.
the restaurant is working.
the restaurant has working 100!
the restaurant has working 200!
the restaurant has working 210!

0 人点赞