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
类——使用类和实例——修改属性值
最新推荐文章于 2024-05-30 18:05:01 发布