python私有属性和方法实例分析

 更新时间:2015年01月15日 10:08:18   投稿:shichen2014  
这篇文章主要介绍了python私有属性和方法的用法,实例分析了python私有属性和方法的原理及具体使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例分析了python的私有属性和方法。分享给大家供大家参考。具体实现方法如下:

python默认的成员函数和成员变量都是公开的,并且没有类似别的语言的public,private等关键词来修饰。 在python中定义私有变量只需要在变量名或函数名前加上 "__"两个下划线,那么这个函数或变量就会为私有的了。 在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername,所以你在外部使用原来的私有成员的名字时,会提示找不到。 比如:

复制代码 代码如下:
class Person:

   def __init__(self):
       self.__name = 'haha'#私有属性
       self.age = 22

   def __get_name(self):##私有方法
       return self.__name

   def get_age(self):
       return self.age

person = Person()
print person.get_age()
print person.__get_name()


运行结果是:22 Traceback (most recent call last): File "E:\pythoner\zenghe\jay.py", line 38, in print person.__get_name() AttributeError: Person instance has no attribute '__get_name'

我们这里定义的__name是私有属性,__get_name()是私有方法。如果直接访问的话,会提示找不到相关的属性或者方法,但是如果你真要访问私有的相关数据的话, 也是可以访问的,严格地说,私有方法在它们的类外是可以访问的,只是不容易 处理。在 Python 中没有什么是真正私有的;在内部,私有方法和属性的名字被忽然改变和恢复,以致于使得它们看上去用它们给定的名字是无法使用的

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

相关文章

  • Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作

    Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作

    这篇文章主要介绍了Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作,涉及Python使用str.startswith()和str.endswith()方法针对字符串开始或结尾处特定文本匹配操作相关实现技巧,需要的朋友可以参考下
    2018-04-04
  • 利用python爬取斗鱼app中照片方法实例

    利用python爬取斗鱼app中照片方法实例

    最近在学习python,通过实践是学习的一个好办法,下面这篇文章就来给大家介绍了关于利用python爬取斗鱼app中照片的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。
    2017-12-12
  • Pytorch distributed 多卡并行载入模型操作

    Pytorch distributed 多卡并行载入模型操作

    这篇文章主要介绍了Pytorch distributed 多卡并行载入模型操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Python实现冒泡排序算法的示例解析

    Python实现冒泡排序算法的示例解析

    冒泡排序(Bubble Sort)是一种简单的排序算法。本文将详细为大家讲讲Python实现冒泡排序算法的方法,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-06-06
  • pandas中的ExcelWriter和ExcelFile的实现方法

    pandas中的ExcelWriter和ExcelFile的实现方法

    这篇文章主要介绍了pandas中的ExcelWriter和ExcelFile的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python自动导入包的实现

    python自动导入包的实现

    本文主要介绍了python自动导入包的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python随机获取列表中某一元素的方法

    python随机获取列表中某一元素的方法

    本文主要介绍了python随机获取列表中某一元素的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 解决python脚本中error: unrecognized arguments: True错误

    解决python脚本中error: unrecognized arguments: True错误

    这篇文章主要介绍了解决python脚本中error: unrecognized arguments: True错误,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python的pytest测试框架中fixture的使用详解

    Python的pytest测试框架中fixture的使用详解

    这篇文章主要介绍了pytest中fixture的使用详解,pytest是一个非常成熟的全功能的Python测试框架,能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试,需要的朋友可以参考下
    2023-07-07
  • Python如何向IP地址发送字符串

    Python如何向IP地址发送字符串

    在Python中,向IP地址发送字符串通常意味着你需要通过某种协议来实现通信,最常见的协议包括TCP和UDP,这篇文章主要介绍了Python向IP地址发送字符串的示例代码,需要的朋友可以参考下
    2024-08-08

最新评论