作家
登录

从变量到封装:一文带你为机器学习打下坚实的Python基础

作者: 来源: 2017-10-16 10:23:03 阅读 我要评论

在 Python 中,我们能应用 @property (decorators) 定义 getter & setter:

  1. class Vehicle: 
  2.  
  3.     def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): 
  4.  
  5.         self.number_of_wheels = number_of_wheels 
  6.  
  7.         self.type_of_tank = type_of_tank 
  8.  
  9.         self.seating_capacity = seating_capacity 
  10.  
  11.         self.maximum_velocity = maximum_velocity 
  12.  
  13.     @property 
  14.  
  15.     def number_of_wheels(self): 
  16.  
  17.         return self.number_of_wheels 
  18.  
  19.     @number_of_wheels.setter 
  20.  
  21.     def number_of_wheels(self, number): 
  22.  
  23.         self.number_of_wheels = number  

同样我们能应用这些办法作为属性:

  1. tesla_model_s = Vehicle(4, 'electric', 5, 250) 
  2.  
  3. print(tesla_model_s.number_of_wheels) # 4 
  4.  
  5. tesla_model_s.number_of_wheels = 2 # setting number of wheels to 2 
  6.  
  7. print(tesla_model_s.number_of_wheels) # 2  

我们还能应用办法做一些其他的操作,例如办法「make_noise」可以设置为:

  1. class Vehicle: 
  2.  
  3.     def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity): 
  4.  
  5.         self.number_of_wheels = number_of_wheels 
  6.  
  7.         self.type_of_tank = type_of_tank 
  8.  
  9.         self.seating_capacity = seating_capacity 
  10.  
  11.         self.maximum_velocity = maximum_velocity 
  12.  
  13.     def make_noise(self): 
  14.  
  15.         print('VRUUUUUUUM' 

我们已经知道列表是经由过程整数索引来获取某个元素,而若我们不欲望应用整数作为索引,那么就可以应用字典数据构造。经由过程这种数据构造,我们可以应用数值型、字符型或其它类型的索引。字典的每个键值 (key=>value) 对用冒号 (**:**) 瓜分,每个对之间用逗号 (**,**) 瓜分,全部字典包含在花括号 (**{})**中。如下,字典(Dictionary)是键(Key)与值(Value)的集合:

当我们调用该办法时,它将返回字符串「VRRRRUUUUM」。

  1. tesla_model_s = Vehicle(4, 'electric', 5, 250) 
  2.  
  3. tesla_model_s.make_noise() # VRUUUUUUUM  

封装:隐蔽信息

封装是一种限制直接拜访目标属性和办法的机制,但同时它又有利于对数据(对象的办法)进行操作。

我们定名了两个参数 key 和 value,但我们同样可以定名为其它的,如下我们应用 attribute 和 value 作为字典键值的参数,它同样有效:


  推荐阅读

  如何在一个U盘上安装多个Linux发行版

完成这些后,启动 MultiBootUSB。 本教程介绍如安在一个 U 盘上安装多个 Linux 发行版。如许,你可以在单个 U 盘上享受多个现场版live Linux 发行版了。我爱好经由过程 U 盘测验测验不合的>>>详细阅读


本文标题:从变量到封装:一文带你为机器学习打下坚实的Python基础

地址:http://www.17bianji.com/lsqh/37927.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)