码迷,mamicode.com
首页 > 其他好文 > 详细

类(二)

时间:2017-05-12 00:27:16      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:默认值   car   init   需要   语句   tail   传递   mile   ack   

使用类和实例:

 类编写好之后,你的大部分时间都将花在使用根据类创建的实例上。

编写一个关于汽车的类

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,则更新里程表,反之提示,禁止回滚里程表





 



 

 

类(二)

标签:默认值   car   init   需要   语句   tail   传递   mile   ack   

原文地址:http://www.cnblogs.com/alben-cisco/p/6843316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!