作家
登录

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

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

  •  
  • tk._email = 'new_tk@mail.com' 
  •  
  • print(tk.email()) # => tk@mail.com 
  •  
  • tk.update_email('new_tk@mail.com'
  •  
  • print(tk.email()) # => new_tk@mail.com  
  • 我们先初始化 Person 类并赋值,然后经由过程定义的办法拜访并打印私有变量的值。如我们直接赋值给私有变量新的值,那么打印出来照样原有的值,我们只能经由过程在类琅绫擎定义的办法进行操作而更新私有变量。

    公创办法

    对于公创办法(public methods),我们同样能在类以外的处所调用,以下定义了一个类与办法:

    1. class Person: 
    2.  
    3.     def __init__(self, first_name, age): 
    4.  
    5.         self.first_name = first_name 
    6.  
    7.         self._age = age 
    8.  
    9.     def show_age(self): 
    10.  
    11.         return self._age  
    1. tk = Person('TK', 25) 
    2.  
    3. print(tk.show_age()) # => 25  

    私有办法

    然则对于私有办法来说,并不克不及如许操作。若我们定义雷同的类,且应用下划线定义 show_age 为私有办法:

    若我们有一辆车,且知道车轮数、座位容量和最大年夜时速,那么一辆电动车类就持续惯例汽车类中的雷同属性。

    1. class Person: 
    2.  
    3.     def __init__(self, first_name, age): 
    4.  
    5.         self.first_name = first_name 
    6.  
    7.         self._age = age 
    8.  
    9.     def _show_age(self): 
    10.  
    11.          return self._age  

    我们同样能调用对象的私有办法:

    1. tk = Person('TK', 25) 
    2.  
    3. print(tk._show_age()) # => 25  

    我们也能拜访并更新它,私有办法应当要看作 API 的私有部分。下面的案例可以展示了若何应用它:

    1. class Person: 
    2.  
    3.     def __init__(self, first_name, age): 
    4.  
    5.         self.first_name = first_name 
    6.  
    7.         self._age = age 
    8.  
    9.     def show_age(self): 
    10.  
    11.         return self._get_age() 
    12.  
    13.     def _get_age(self): 
    14.  
    15.         return self._age 
    16.  
    17. tk = Person('TK', 25) 
    18.  
    19. print(tk.show_age()) # => 25 

        推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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