Car类
class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name) #创建实例 My_new_car = Car('Audi','A4','2016') print(My_new_car.get_describe_car())
上图是新建的一个Car类,并且我们创建了实例,并将其存储到My_new_car中
给属性指定默认值
如果在方法__init__()中指定了默认值,那么就无需包含为它提供初始值的形参
class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name) print("This car has " + str(self.miters) +" miles on it") #创建实例 My_new_car = Car('Audi','A4','2016') print(My_new_car.get_describe_car()) My_new_car.print_miters()
上述代码中定义了一个初始值,在形参中我们就没有为其传入值,但是在方法print_miters中我们又使用了该属性
修改属性的值
三种方法修改属性的值:
①直接通过实例进行修改
②通过方法进行设定
③通过方法进行递增(增加特定的值)
1.通过实例进行修改
class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year self.miters = 0 def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name) def print_miters(self): print("This car has " + str(self.miters) +" miles on it") #创建实例 My_new_car = Car('Audi','A4','2016') print(My_new_car.get_describe_car()) My_new_car.miters = 100 My_new_car.print_miters()
2.通过方法进行设定
无需直接访问属性,可将值传递给一个方法,由他在内部进行更新
class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year self.miters = 0 def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name) def update_miters(self,miters): self.miters = miters def print_miters(self): print("This car has " + str(self.miters) +" miles on it") #创建实例 My_new_car = Car('Audi','A4','2016') print(My_new_car.get_describe_car()) My_new_car.update_miters(200) My_new_car.print_miters()
3.通过方法对属性值进行递增特定的量,而不是将其设置为全新的值
class Car(): '''模拟汽车''' def __init__(self, name, model, year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year self.miters = 0 def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year) + ' ' + self.name + ' ' + self.model return (long_name) def update_miters(self,miters): self.miters = miters def increment_miters(self,add_miters): '''将里程设置为指定的数''' self.miters += add_miters def print_miters(self): print("This car has " + str(self.miters) + " miles on it") # 创建实例 My_user_car = Car('Audi', 'A4', '2016') print(My_user_car.get_describe_car()) My_user_car.update_miters(200) My_user_car.print_miters() My_user_car.increment_miters(100) My_user_car.print_miters()