python类创建默认参数_69-创建Car车类和属性指定默认值

本文介绍了如何在Python中创建一个Car类,包括初始化方法、默认属性如里程(odometer_reading,默认值为0),以及添加用于显示汽车描述、读取里程、更新里程和递增里程的方法。示例展示了如何直接修改属性值、通过方法修改以及递增里程,并提供了防止里程回调的约束。
摘要由CSDN通过智能技术生成

我们创建一个汽车类Car  初始化方法中传入汽车厂商,型号,年份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()

from Car import*

myCar = Car('本田','飞度',2018)

print(myCar.get_descriptive_name())

其中里程属性self.odometer_reading= 0

这个属性不需要再构造方法中传入值进行初始化。因为它有默认值0

另外我们添加了一个方法来打印历程表

其中里程属性self.odometer_reading= 0

这个属性不需要再构造方法中传入值进行初始化。因为它有默认值0

另外我们添加了一个方法来打印历程表def read_odometer(self):

"""打印一条指出汽车里程的消息"""

print("这里车已经跑了 " + str(self.odometer_reading) + "公里.")

修改属性值

可以以三种不同的方式修改属性的值:

直接通过实例进行修改; 通过方法进行设置; 通过方法进行递增( 增加特定的值) 。

1直接修改属性的值

要修改属性的值, 最简单的方式是通过实例直接访问它。

下面的代码直接将里程表读数设置为2514:

from Car import *

myCar = Car('丰田','卡罗拉',2018)

print(myCar.odometer_reading)

myCar.odometer_reading = 2514

print(myCar.odometer_reading)

2通过方法修改属性的值

通过方法修改,这样,

你就无需直接访问属性, 而可将值传递给一个方法, 由它在内部进行更新

def

update_odometer(self,mileage):

"""将里程表读数设置为指定的值"""

self.odometer_reading = mileage

myCar.update_odometer(2654)

print(myCar.odometer_reading)

添加对修改里程的方法约束 禁止把数据往回调

def update_odometer(self, mileage):

"""将里程表读数设置为指定的值"""

if mileage >= self.odometer_reading:

self.odometer_reading = mileage

else:

print("你不能把里程往回调!")

3. 通过方法对属性的值进行递增

有时候需要将属性值递增特定的量,

而不是将其设置为全新的值。

因为有些时候我们不知道它原来的值是多少。我们只直到我们产生的新值是多少。比如里程。因为是我们开了多少公里

就递增多少公里。

def increment_odometer(self, miles):

"""将里程表读数增加指定的量"""

self.odometer_reading += miles

当我们开动车开了15公里后 应调用改方法 递增15

myCar.increment_odometer(15)

myCar.read_odometer()

另外这个方法还有的改进 防止传入负数。

from Car import*

myCar = Car('丰田','卡罗拉',2018)

print(myCar.odometer_reading)

myCar.odometer_reading = 2514

print(myCar.odometer_reading)

myCar.update_odometer(2654)

print(myCar.odometer_reading)

myCar.increment_odometer(15)

myCar.read_odometer()

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值