• python class用法


    创建一个名为 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!
  • 相关阅读:
    [NOI2001]炮兵阵地
    POJ 2411 Mondriaan's Dream
    【模板】割点(割顶)
    [Noip2007]Core树网的核
    2018.09.09模拟总结
    2018.09.08模拟总结
    [USACO11JAN]Roads and Planes
    最优贸易
    [USACO08JAN]Telephone Lines
    Calabash(葫芦娃)
  • 原文地址:https://www.cnblogs.com/hepeilinnow/p/10381895.html
Copyright © 2020-2023  润新知