python class用法

发布时间:2019-05-12 20:14:45编辑:auto阅读(1841)

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

    name 和 type 

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

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

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

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

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

    #!/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()

    结果:

    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!

     

关键字