对类(class)中的已有属性进行修改方法1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对类(class)中的已有属性进行修改方法1相关的知识,希望对你有一定的参考价值。

有时,在类的编写过程中,可能已经给了某个属性一个默认值。在之后的使用过程中,我们或许需要更新这个值,可以用如下方法一,对默认值直接进行更新:

eg:首先编写好一个有关汽车的类,其中其中先定义了几个汽车的初始化值,其中包含一个默认值,为它的公里数:

class Car():
#类的名字都需大写,并要习惯用"""描述类或方法的概述,让他人和自己都一目了然
    """一次模拟汽车的简单尝试"""
    def __init__(self, make, model, year):
#init是固定的类初始化方法(所以类中的函数统称方法),后面则是属性(可理解为形参),self是固定值,每次都需要
        """初始化描述汽车的属性"""
        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("This car has " + str(self.odometer_reading) + " miles on it.")

好了,初始的类已写好,现在来更新其中的那个里程默认值:

非常简单,直接对对应的属性进行修改:
先定义好实例:

my_new_car = Car(‘audi‘, ‘a4‘, 2016)
print(my_new_car.get_descriptive_name())

my_new_car.odometer_reading = 23
my_new_car.read_odometer()

结果:
技术分享图片

以上是关于对类(class)中的已有属性进行修改方法1的主要内容,如果未能解决你的问题,请参考以下文章

面向对象特征之封装性

python的类基础详解

通过NSURLSessionConfiguration对类属性property(class)的思考

反射和注解的使用

java反射中,Class.forName和classloader的区别(代码说话)

class.forName() 和 classLoader 的区别