zoukankan      html  css  js  c++  java
  • 类——使用类和实例——修改属性值

    class Car():
                      
                                           '''一次模拟汽车的简单尝试'''
    
        def __init__(self,make,model,year):
    
                                       '''初始化描述汽车的属性:制造商、型号、生产年份'''
    
            self.make = make
            self.model = model
            self.year = year
    
        def get_descriptive_name(self):
       
                                           '''返回整洁的描述信息'''
    
            long_name = str(self.year) + '   ' + self.make + '   ' + self.model
    
            return  long_name.title()
    
    
    my_new_car = Car('audi','a4',2016)
    
    print(my_new_car.get_descriptive_name())
    
    ====================================================================
    
    执行结果:
    
    2016   Audi   A4
    
    
    ==================================================================
    
    给属性指定默认值
    
    
    类中的每个属性都必须有初始值,哪怕这个值是0或者空字符串;
    
    
    如果设置默认值,在方法_int_内指定这种初始值是可行的;
    
    
    如果对某个属性这样做了,就无需包含为它提供初始值的形参。
    
    
    
    class Car():
                                     '''一次模拟汽车的简单尝试'''
    
        def __init__(self,make,model,year):
                                        '''初始化描述汽车的属性:制造商、型号、生产年份'''
    
            self.make = make
            self.model = model
            self.year = year
            self.odometer_reading = 0              #里程表读数
    
        def get_descriptive_name(self):
                                                 '''返回整洁的描述信息'''
    
            long_name = str(self.year) + '   ' + self.make + '   ' + self.model
    
            return  long_name.title()
    
        def read_odometer(self):
                                              '''打印一条指出汽车里程的信息'''
            print('这辆车的汽车里程是:  ' + str(self.odometer_reading))
    
    
    my_new_car = Car('audi','a4',2016)
    
    print(my_new_car.get_descriptive_name())
    
    my_new_car.read_odometer()
    
    =====================================================================
    
    执行结果:
    
    
    2016   Audi   A4
    
    这辆车的汽车里程是:  0
    
    
    
    
    ========================================================================
    
    
    修改属性的值
    
    
    有3种方法修改属性的值:
    
    (1)直接通过实例进行修改;
    
    (2)通过方法进行设置;
    
    (3)通过方法进行递增(增加特定值)
    
    ---------------------------------------------------------------1)直接通过实例进行修改;
    
    
    通过实例直接访问它,并修改
    
    
    class Car():
        '''一次模拟汽车的简单尝试'''
    
        def __init__(self,make,model,year):
            '''初始化描述汽车的属性:制造商、型号、生产年份'''
    
            self.make = make
            self.model = model
            self.year = year
            self.odometer_reading = 0              #里程表读数
    
        def get_descriptive_name(self):
            '''返回整洁的描述信息'''
    
            long_name = str(self.year) + '   ' + self.make + '   ' + self.model
    
            return  long_name.title()
    
        def read_odometer(self):
            '''打印一条指出汽车里程的信息'''
            print('这辆车的汽车里程是:  ' + str(self.odometer_reading))
    
    
    my_new_car = Car('audi','a4',2016)
    
    print(my_new_car.get_descriptive_name())  #访问默认属性值
    
    my_new_car.read_odometer() #访问默认属性值
    
    #--------------------------------------------------
    
    my_new_car.odometer_reading = 23     #修改属性值
    my_new_car.read_odometer()      #属性值被修改后访问
    
    print(str(my_new_car.odometer_reading))     #属性值被修改后访问
    
    #--------------------------------------------------
    
    your_new_car = Car('bentian','crv',2000)   #新实例
    
    print(your_new_car.get_descriptive_name())   #新实例
    
    print(str(your_new_car.odometer_reading))    #新实例访问变量
    
    
    =====================================================================
    
    执行结果:
    
    
    
    2016   Audi   A4
    
    这辆车的汽车里程是:  0
    
    
    #------------------------------------
    
    这辆车的汽车里程是:  23
    
    23
    
    
    #---------------------------------------
    
    2000   Bentian   Cr
    
    0
    
    
    ============================================================================
    
    ============================================================================2)通过方法修改属性的值
    
    添加一个方法,让方法接收参数来修改
    
    
    class Car():
        '''一次模拟汽车的简单尝试'''
    
        def __init__(self,make,model,year):
            '''初始化描述汽车的属性:制造商、型号、生产年份'''
    
            self.make = make
            self.model = model
            self.year = year
            self.odometer_reading = 0              #里程表读数
    
        def update_odometer(self,mileage):      #修改属性值
            '''将里程表读数设置为指定的值'''
            self.odometer_reading = mileage
    
        def get_descriptive_name(self):
            '''返回整洁的描述信息'''
    
            long_name = str(self.year) + '   ' + self.make + '   ' + self.model
    
            return  long_name.title()
    
        def read_odometer(self):
            '''打印一条指出汽车里程的信息'''
            print('这辆车的汽车里程是:  ' + str(self.odometer_reading))
    
    
    #--------------------------------------------------------------------
    
    
    my_new_car = Car('audi','a4',2016)
    
    print(my_new_car.get_descriptive_name())  #访问默认属性值
    
    my_new_car.read_odometer() #访问默认属性值
    
    #--------------------------------------------------
    
    my_new_car.update_odometer(23)
    
    my_new_car.read_odometer()
    
    #--------------------------------------------------
    
    
    
    执行结果:
    
    
    
    2016   Audi   A4
    
    
    这辆车的汽车里程是:  0
    
    
    这辆车的汽车里程是:  23
    
    
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    
    
    class Car():
        '''一次模拟汽车的简单尝试'''
    
        def __init__(self,make,model,year):
            '''初始化描述汽车的属性:制造商、型号、生产年份'''
    
            self.make = make
            self.model = model
            self.year = year
            self.odometer_reading = 24              #里程表读数
    
        def update_odometer(self,mileage):      #修改属性值
                                                        '''将里程表读数设置为指定的值'''
            if mileage >= self.odometer_reading:
                self.odometer_reading = mileage
            else:
                print('里程表读数不可以往回调')
    
        def get_descriptive_name(self):
            '''返回整洁的描述信息'''
    
            long_name = str(self.year) + '   ' + self.make + '   ' + self.model
    
            return  long_name.title()
    
        def read_odometer(self):
            '''打印一条指出汽车里程的信息'''
            print('这辆车的汽车里程是:  ' + str(self.odometer_reading))
    
    
    #--------------------------------------------------------------------
    
    
    my_new_car = Car('audi','a4',2016)
    
    print(my_new_car.get_descriptive_name())  #访问默认属性值
    
    my_new_car.read_odometer() #访问默认属性值
    
    #--------------------------------------------------
    
    my_new_car.update_odometer(23)
    
    my_new_car.read_odometer()
    
    #--------------------------------------------------
    
    
    执行结果:
    
    
    
    2016   Audi   A4
    
    这辆车的汽车里程是:  24
    
    里程表读数不可以往回调
    
    这辆车的汽车里程是:  24
    
    
    ============================================================================
    ============================================================================3)通过方法对属性值进行递增
    
    
    class Car():
        '''一次模拟汽车的简单尝试'''
    
        def __init__(self,make,model,year):
            '''初始化描述汽车的属性:制造商、型号、生产年份'''
    
            self.make = make
            self.model = model
            self.year = year
            self.odometer_reading = 24              #里程表读数
    
        def update_odometer(self,mileage):      #修改属性值
            '''将里程表读数设置为指定的值'''
    
            self.odometer_reading += mileage
    
    
        def get_descriptive_name(self):
            '''返回整洁的描述信息'''
    
            long_name = str(self.year) + '   ' + self.make + '   ' + self.model
    
            return  long_name.title()
    
        def read_odometer(self):
            '''打印一条指出汽车里程的信息'''
            print('这辆车的汽车里程是:  ' + str(self.odometer_reading))
    
    
    #--------------------------------------------------------------------
    
    
    my_new_car = Car('audi','a4',2016)
    
    print(my_new_car.get_descriptive_name())  #访问默认属性值
    
    my_new_car.read_odometer() #访问默认属性值
    
    #--------------------------------------------------
    
    my_new_car.update_odometer(23)
    
    my_new_car.read_odometer()
    
    #--------------------------------------------------
    
    
    执行结果:
    
    
    
    2016   Audi   A4
    
    这辆车的汽车里程是:  24
    
    这辆车的汽车里程是:  47
  • 相关阅读:
    day_03、初识函数
    一、Python简介
    四、列表和元祖
    MinGW安装和使用
    python编码总结
    开博第一篇,学习markdown
    python 2.7.11安装pywin32过程中 停止工作问题
    python读写excel
    关于\r和\n的区别
    1.1 Python for macOS 安装与配置
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12060833.html
Copyright © 2011-2022 走看看