【Python】使用类和实例
2017-11-20 23:01
113 查看
Car类
class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name) #创建实例 My_new_car = Car('Audi','A4','2016') print(My_new_car.get_describe_car())
上图是新建的一个Car类,并且我们创建了实例,并将其存储到My_new_car中
给属性指定默认值
如果在方法__init__()中指定了默认值,那么就无需包含为它提供初始值的形参class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year self.miters = 0 def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name) def print_miters(self): print("This car has " + str(self.miters) +" miles on it") #创建实例 My_new_car = Car('Audi','A4','2016') print(My_new_car.get_describe_car()) My_new_car.print_miters()
上述代码中定义了一个初始值,在形参中我们就没有为其传入值,但是在方法print_miters中我们又使用了该属性
修改属性的值
三种方法修改属性的值:①直接通过实例进行修改
②通过方法进行设定
③通过方法进行递增(增加特定的值)
1.通过实例进行修改
class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year self.miters = 0 def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name) def print_miters(self): print("This car has " + str(self.miters) +" miles on it") #创建实例 My_new_car = Car('Audi','A4','2016') print(My_new_car.get_describe_car()) My_new_car.miters = 100 My_new_car.print_miters()
2.通过方法进行设定
无需直接访问属性,可将值传递给一个方法,由他在内部进行更新
class Car(): '''模拟汽车''' def __init__(self,name,model,year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year self.miters = 0 def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year)+' '+self.name + ' '+self.model return(long_name) def update_miters(self,miters): self.miters = miters def print_miters(self): print("This car has " + str(self.miters) +" miles on it") #创建实例 My_new_car = Car('Audi','A4','2016') print(My_new_car.get_describe_car()) My_new_car.update_miters(200) My_new_car.print_miters()
3.通过方法对属性值进行递增特定的量,而不是将其设置为全新的值
class Car(): '''模拟汽车''' def __init__(self, name, model, year): '''初始化汽车的属性''' self.name = name self.model = model self.year = year self.miters = 0 def get_describe_car(self): '''返回描述性信息''' long_name = str(self.year) + ' ' + self.name + ' ' + self.model return (long_name) def update_miters(self,miters): self.miters = miters def increment_miters(self,add_miters): '''将里程设置为指定的数''' self.miters += add_miters def print_miters(self): print("This car has " + str(self.miters) + " miles on it") # 创建实例 My_user_car = Car('Audi', 'A4', '2016') print(My_user_car.get_describe_car()) My_user_car.update_miters(200) My_user_car.print_miters() My_user_car.increment_miters(100) My_user_car.print_miters()
新增的方法increment_miters()接受一个数字后,并将其加入到update_miters()已经修改过的里程数,我们调用方法update_miters()传入200,然后调用increment_miters()又在200基础上新增100,接着打出来。
相关文章推荐
- python中类方法、类实例方法、静态方法的使用与区别
- python之os.walk()的使用实例
- python创建和使用字典实例详解
- Python之自动单元测试之一(unittest使用实例)
- Python使用urllib2获取网络资源实例讲解
- python列表list使用实例
- Python translator使用实例
- python模块restful使用方法实例
- python使用urllib2模块获取gravatar头像实例
- python使用xmlrpc实例讲解
- python使用rabbitmq实例三,交换机(3)
- python使用rabbitmq实例四,路由键(4)
- python使用rabbitmq实例五,路由键模糊匹配(5)
- Python使用urllib2获取网络资源实例讲解
- Python中__init__(),__getitem__()和__setitem__()的使用实例
- python使用urllib2模块获取gravatar头像实例
- python WMI模块的使用实例
- python模块restful使用方法实例
- Python translator使用实例
- python创建和使用字典实例详解