Python面向对象程序设计之私有属性及私有方法示例

 更新时间:2019年04月08日 08:36:05   作者:墨墨陌陌沫沫0  
这篇文章主要介绍了Python面向对象程序设计之私有属性及私有方法,结合实例形式分析了Python私有属性及私有方法的相关使用方法及操作注意事项,需要的朋友可以参考下

本文实例讲述了Python面向对象程序设计之私有属性及私有方法。分享给大家供大家参考,具体如下:

如果有一个对象,当需要对其进行修改属性时,有2种方法:

(1)对象名.属性名=数据---->直接修改

(2)对象名.方法名()----->间接修改

为了更好的保障属性安全,不能随意修改,一般处理方式为:

(1)将属性定义为私有属性

(2)添加一个可以调用的方法,供调用,也就是间接调用属性

首先我讲解下私有属性的例子:

1.下面这个是一个错误的例子:

class People(object):
  def __init__(self,name):
    self.__name=name
  def getName(self):
    return self.__name
  def setName(self,newName):
    if len(newName) >= 5:
      self.__name = newName
    else:
      print("error:名字长度需要大于或者等于5")
xiaoming = People("monkey")
print(xiaoming.__name)

这是错误的,因为直接输出了私有的属性,是不可以的,解决方式为:或者删掉object也行

class People(object):
  def __init__(self,name):
    self.__name=name
  def getName(self):
    return self.__name
  def setName(self,newName):
    if len(newName) >= 5:
      self.__name = newName
    else:
      print("error:名字长度需要大于或者等于5")
xiaoming = People("monkey")
print(xiaoming.getName()) #这样就是通过调用方法来间接调用属性

下面讲解一个私有方法的例子:

class Dog:
  #私有方法,在方法名前面加上两个下划线
  def __test1(self):
    print("1")
  def test2(self):
    print("2")
dog=Dog()
dog.__test1() #报错
dog.test2()  #正确

私有方法是不能直接调用的

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • 深入理解Python虚拟机中浮点数(float)的实现原理及源码

    深入理解Python虚拟机中浮点数(float)的实现原理及源码

    在本篇文章当中主要分析在 cpython 虚拟机当中 float 类型的实现原理以及与他相关的一些源代码,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-03-03
  • python画折线图的程序

    python画折线图的程序

    这篇文章主要为大家详细介绍了python画折线图的方法,一个画折线图的程序具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Jupyter notebook远程访问服务器的方法

    Jupyter notebook远程访问服务器的方法

    今天小编就为大家分享一篇Jupyter notebook远程访问服务器的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python 函数参数11个案例分享

    Python 函数参数11个案例分享

    大家好,今天给大家分享一下明哥整理的一篇 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80% 的文章讲的都要明白,如果你是入门不久的 python 新手,相信本篇文章应该对你会有不小的帮助,需要的朋友可以参考下
    2023-02-02
  • Python的Scrapy框架解析

    Python的Scrapy框架解析

    这篇文章主要为大家介绍了Python的Scrapy框架解析 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • python中waitKey实例用法讲解

    python中waitKey实例用法讲解

    在本篇文章里小编给大家整理了一篇关于python中waitKey实例用法讲解,有兴趣的朋友们可以参考学习下。
    2021-04-04
  • python中id函数运行方式

    python中id函数运行方式

    在本篇文章里小编给大家分享了关于python中id函数运行方式及相关实例,需要的朋友们可以参考下。
    2020-07-07
  • Python面向对象类继承和组合实例分析

    Python面向对象类继承和组合实例分析

    这篇文章主要介绍了Python面向对象类继承和组合,结合实例形式分析了Python3面向对象继承的原理、用法以及继承与组合相关使用技巧,需要的朋友可以参考下
    2018-05-05
  • python pygame实现控制物体移动

    python pygame实现控制物体移动

    这篇文章主要为大家详细介绍了python pygame控制物体移动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 对Python3之进程池与回调函数的实例详解

    对Python3之进程池与回调函数的实例详解

    今天小编就为大家分享一篇对Python3之进程池与回调函数的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论