多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# \_\_init\_\_()方法 ~~~ class Car(object): """定义了一个车类,可以启动和炸街""" # Python 的类里提供的,两个下划线开始,两个下划线结束的方法,就是魔法方法,__init__()就是一个魔法方法,通常用来做属性初始化 或 赋值 操作。 # 如果类面没有写__init__方法,Python会自动创建,但是不执行任何操作, # 如果为了能够在完成自己想要的功能,可以自己定义__init__方法, # 所以一个类里无论自己是否编写__init__方法 一定有__init__方法。 def __init__(self): """ 方法,用来做变量初始化 或 赋值 操作,在类实例化对象的时候,会被自动调用""" # 给对象添加属性,以及对应的属性值 self.name = "保时捷911" # 车名 self.max_speed = 340 # 最高时速 self.vehicle_length = 4519 # 车长 def start(self): """实例方法""" print("正在启动") def fried_street(self): """实例方法""" print("开始炸街") def info(self): """在类的实例方法中,通过self获取该对象的属性""" print("本车名为:{} 最高时速:{} km/h".format(self.name, self.max_speed)) print("本车名为:{} 车长:{} mm".format(self.name, self.vehicle_length)) # 实例化了一个车对象 保时捷911,并自动调用__init__()方法 porsche_911 = Car() # 通过.成员选择运算符,获取对象的实例方法 porsche_911.info() # 只需要调用实例方法info(),即可获取英雄的属性 porsche_911.start() porsche_911.fried_street() ~~~ #### 说明: * `__init__()`方法,在创建一个对象时默认被调用,不需要手动调用 * `__init__(self)`中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。 #### 问题: > 在类的方法里定义属性的固定值,则每个对象实例变量的属性值都是相同的。 > > 汽车中里往往有很多不同的车型,能否让实例化的每个对象,都有不同的属性值呢?