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
类——使用类和实例——修改属性值
猜你喜欢
转载自www.cnblogs.com/xiaobaibailongma/p/12060833.html
今日推荐
周排行