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私有属性和方法实例分析到此结束。脆弱的心灵创伤太多,追求才是愈合你伤口最好的良药。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
Python自动化运维-使用Python脚本监控华为AR路由器关键路由变化

Python自动化运维-netmiko模块设备自动发现

Python自动化运维—netmiko模块连接并配置华为交换机

Python自动化运维-利用Python-netmiko模块备份设备配置

Python自动化运维-Paramiko模块和堡垒机实战