在 Python 中,我们能应用 @property (decorators) 定义 getter & setter:
- class Vehicle:
- def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
- self.number_of_wheels = number_of_wheels
- self.type_of_tank = type_of_tank
- self.seating_capacity = seating_capacity
- self.maximum_velocity = maximum_velocity
- @property
- def number_of_wheels(self):
- return self.number_of_wheels
- @number_of_wheels.setter
- def number_of_wheels(self, number):
- self.number_of_wheels = number
同样我们能应用这些办法作为属性:
- tesla_model_s = Vehicle(4, 'electric', 5, 250)
- print(tesla_model_s.number_of_wheels) # 4
- tesla_model_s.number_of_wheels = 2 # setting number of wheels to 2
- print(tesla_model_s.number_of_wheels) # 2
我们还能应用办法做一些其他的操作,例如办法「make_noise」可以设置为:
- class Vehicle:
- def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
- self.number_of_wheels = number_of_wheels
- self.type_of_tank = type_of_tank
- self.seating_capacity = seating_capacity
- self.maximum_velocity = maximum_velocity
- def make_noise(self):
- print('VRUUUUUUUM')
我们已经知道列表是经由过程整数索引来获取某个元素,而若我们不欲望应用整数作为索引,那么就可以应用字典数据构造。经由过程这种数据构造,我们可以应用数值型、字符型或其它类型的索引。字典的每个键值 (key=>value) 对用冒号 (**:**) 瓜分,每个对之间用逗号 (**,**) 瓜分,全部字典包含在花括号 (**{})**中。如下,字典(Dictionary)是键(Key)与值(Value)的集合:
当我们调用该办法时,它将返回字符串「VRRRRUUUUM」。
- tesla_model_s = Vehicle(4, 'electric', 5, 250)
- tesla_model_s.make_noise() # VRUUUUUUUM
封装:隐蔽信息
封装是一种限制直接拜访目标属性和办法的机制,但同时它又有利于对数据(对象的办法)进行操作。
我们定名了两个参数 key 和 value,但我们同样可以定名为其它的,如下我们应用 attribute 和 value 作为字典键值的参数,它同样有效:
推荐阅读
完成这些后,启动 MultiBootUSB。 本教程介绍如安在一个 U 盘上安装多个 Linux 发行版。如许,你可以在单个 U 盘上享受多个现场版live Linux 发行版了。我爱好经由过程 U 盘测验测验不合的>>>详细阅读
本文标题:从变量到封装:一文带你为机器学习打下坚实的Python基础
地址:http://www.17bianji.com/lsqh/37927.html
1/2 1