使用类和实例:
类编写好之后,你的大部分时间都将花在使用根据类创建的实例上。
编写一个关于汽车的类
class Car(): def __init__(self,make,model,year): """汽车的通用属性""" self.make = make self.model = model self.year = year def detail_info(self): info = str(self.year) + ' ' + self.make + ' ' + self.model print(info.title())
给属性指定默认值: 类中的每一个属性必须有初始值,哪怕这个值是0或空字符。 在有些情况下,如设置默认值时,在方法__init__()内指定这种初始值是可行的; 例如: 对这个class Car()进行修改
class Car(): def __init__(self,make,model,year): """汽车的通用属性""" self.make = make self.model = model self.year = year self.odometer_reading = 0 def detail_info(self): info = str(self.year) + ' ' + self.make + ' ' + self.model print(info.title()) def get_odometer(self): print("出厂里程表: " + str(self.odometer_reading))
定义了一个默认属性,odometer.reading 汽车出厂的里程,一般都不会是0,所以我们需要对这个属性进行修改 修改的方法: 1、直接修改属性的值
我的汽车 = Car("audi","a4","2015") 我的汽车.odometer_reading = '500km' 我的汽车.detail_info() 我的汽车.get_odometer() 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): if mileage >= self.odometer_reading: self.odometer_reading = mileage else: print("You can't roll back an odometer!")
新定义了一个方法:update_odometer(self,mileage): 这个方法中加入了if语句,代表如果给的实参≥self.odometer_reading,则更新里程表,反之提示,禁止回滚里程表