every attribute in class needs an initial valueeven if that value is or an empty string in some casessuch as when setting default valueit makes sense to specify this initial value in the body of the __init__(methodif you do this for an attributeyou don' have to include parameter for that attribute let' add an attribute called odometer_reading that always starts with value of we'll also add method read_odometer(that helps us read each car' odometerclass car() def __init__(selfmakemodelyear)"""initialize attributes to describe car ""self make make self model model self year year self odometer_reading def get_descriptive_name(self)--snip- def read_odometer(self)"""print statement showing the car' mileage ""print("this car has str(self odometer_readingmiles on it "my_new_car car('audi'' ' print(my_new_car get_descriptive_name()my_new_car read_odometer(this time when python calls the __init__(method to create new instanceit stores the makemodeland year values as attributes like it did in the previous example then python creates new attribute called odometer_reading and sets its initial value to we also have new method called read_odometer(at that makes it easy to read car' mileage our car starts with mileage of audi this car has miles on it not many cars are sold with exactly miles on the odometerso we need way to change the value of this attribute modifying attribute values you can change an attribute' value in three waysyou can change the value directly through an instanceset the value through methodor increment the value (add certain amount to itthrough method let' look at each of these approaches