↑ 点击上方【计算机视觉联盟】关注我们
今天是小编持续更新关于Python的知识总结以及Python实践项目应用的第5天,带你利用零碎时间自学最受欢迎的编程语言之一Python语言。你和小编一起打卡了吗?
类中,给在方属性指定默认值是在init_()内指定初始值。如果指定了默认值,在创建实例时,就不用包含提供初始值的形参。
下边例子是统计汽车信息的类,其中为odometer_reading属性的初始值总是0(指定了默认值):
1#!/usr/bin/env python
2# -*- coding:utf-8 -*-
3class Car():
4 """一次模拟汽车的简单尝试"""
5
6 def __init__(self, make, model, year):
7 """初始化描述汽车的属性"""
8 self.make = make
9 self.model = model
10 self.year = year
11 self.odometer_reading = 0 # 指定默认值
12
13 def get_descriptive_name(self):
14 """返回整洁的描述性信息"""
15 long_name = str(self.year) + ' ' + self.make + ' ' + self.model
16 return long_name.title()
17
18 def read_odometer(self):
19 """打印一条指出汽车里程的消息"""
20 print("This car has " + str(self.odometer_reading) + " miles on it.")
21
22my_new_car = Car('audi', 'a4', 2016)
23print(my_new_car.get_descriptive_name())
24my_new_car.read_odometer()
运行结果:
修改属性的值,可以通过实例直接修改属性值;通过方法进行设置;通过方法进行递增(增加特定的值)。
(1)实例直接修改属性值:
1class Car():
2 --snip--
3
4my_new_car=Car('audi', 'a4', 2016)
5print(my_new_car.get_descriptive_name())
6
7my_new_car.odometer_reading=23 # 通过实例直接修改属性的值
8my_new_car.read_odometer()
运行结果:
(2)通过方法修改属性的值
1class Car():
2 --snip--
3
4 # 添加的方法来修改属性的值
5 def update_odometer(self, mileage):
6 """将历程表读数设置为指定的值"""
7 self.odometer_reading = mileage
8
9my_new_car=Car('audi', 'a4', 2016)
10print(my_new_car.get_descriptive_name())
11
12my_new_car.update_odometer(23)
13my_new_car.read_odometer
运行结果:
(3)通过方法对属性的值ji逆行递增
1class Car():
2 --snip--
3
4 def update_odometer(self,mileage)
5 --snip--
6 # 通过方法对属性的值进行递增
7 def increment_odometer(self, miles):
8 """将里程表读数增加指定的量"""
9 self.odometer_reading += miles
10
11my_used_car = Car('audi', 'a4', 2014)
12print(my_used_car.get_descriptive_name())
13
14my_used_car.update_odometer(23500)
15my_used_car.read_odometer()
16
17my_used_car.increment_odometer(100) # 通过方法递增100miles
18my_used_car.read_odometer()
运行结果:
往期回顾
● 带你详细了解机器视觉竞赛—ILSVRC竞赛
● 到底什么是“机器学习”?机器学习有哪些基本概念?(简单易懂)● 带你自学Python系列(一):变量和简单数据类型(附思维导图)● 带你自学Python系列(二):Python列表总结-思维导图● 2018年度最强的30个机器学习项目!● 斯坦福李飞飞高徒Johnson博士论文: 组成式计算机视觉智能(附195页PDF)
● 一文详解计算机视觉的广泛应用:网络压缩、视觉问答、可视化、风格迁移