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直接访问私有属性的简单方法
实例化对象名._类名__私有属性名 class Flylove: price = 123 def __init__(self): self.__direction = 'go beijing .' zIng = 'wait car,many person' if __name__ == '__main__': print Flylove.price fly = Flylove() print fly._Flylove__direction 以上这篇python直接访问私有属性的简单方法就是小编分
-
实例讲解Python中的私有属性
在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子: 复制代码 代码如下: #! encoding=UTF-8 class A: def __init__(self): # 定义私有属性 self.__name = "wangwu" # 普通属性定义 self.age = 19 a = A() # 正常输出 print a.ag
-
老生常谈python的私有公有属性(必看篇)
python中,类内方法外的变量叫属性,类内方法内的变量叫字段.他们的私有公有访问方法类似. class C: __name="私有属性" def func(self): print(C.__name) class sub_C(C): def info(self): print(C.__name)#派生类中不可以访问父类的私有字段 obj=C() obj.func() obj=sub_C() obj.info() 方法.属性的访问于上述方式相似,即:私有成员只能在类内部使用 以上这篇老
-
python私有属性和方法实例分析
本文实例分析了python的私有属性和方法.分享给大家供大家参考.具体实现方法如下: python默认的成员函数和成员变量都是公开的,并且没有类似别的语言的public,private等关键词来修饰. 在python中定义私有变量只需要在变量名或函数名前加上 "__"两个下划线,那么这个函数或变量就会为私有的了. 在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername,所以你在外部使用原来的私有成
-
Python类的专用方法实例分析
本文实例讲述了Python类的专用方法.分享给大家供大家参考.具体分析如下: Python 类可以定义专用方法,专用方法是在特殊情况下或当使用特别语法时由 Python 替你调用的,而不是在代码中直接调用(象普通的方法那样). 1. __init__ 类似于构造函数 复制代码 代码如下: #!/usr/local/bin/python class Study: def __init__(self,name=None): self.name = na
-
Python反转序列的方法实例分析
本文实例讲述了Python反转序列的方法.分享给大家供大家参考,具体如下: 序列是python中最基本的数据结构,序列中每个元素都有一个跟位置相关的序号,也称为索引.对于一个有N个元素的序列来说, 从左到右索引:0,1,2,--N-1 从右到左索引:-1,-2,-3---N 1>列表反转 >>> l=[1,2,3,4] >>> ll=l[::-1] >>> l [1, 2, 3, 4] >>> ll [4, 3, 2, 1] &
-
python读写ini配置文件方法实例分析
本文实例讲述了python读写ini配置文件方法.分享给大家供大家参考.具体实现方法如下: import ConfigParser import os class ReadWriteConfFile: currentDir=os.path.dirname(__file__) filepath=currentDir+os.path.sep+"inetMsgConfigure.ini" @staticmethod def getConfigParser(): cf=ConfigParser
-
Python读取Excel的方法实例分析
本文实例讲述了Python读取Excel的方法.分享给大家供大家参考.具体如下: 今天需要从一个Excel文档(.xls)中导数据到数据库的某表,开始是手工一行行输的.后来想不能一直这样,就用Python写了下面的代码,可以很方便应对这种场景.比如利用我封装的这些方法可以很方便地生成导入数据的SQL. 当然熟悉Excel编程的同学还可以直接用VBA写个脚本生成插入数据的SQL. 还可以将.xls文件改为.csv文件,然后通过SQLyog或者Navicat等工具导入进来,但是不能细粒度控制(比如不
-
Python操作json的方法实例分析
本文实例讲述了Python操作json的方法.分享给大家供大家参考,具体如下: python中对json操作方法有两种,解码loads()和编码dumps() 简单来说: import json dicts = json.loads() #loads()方法,将json串解码为python对象,字典 json = json.dumps(dicts) #dumps()方法,将python字典编码为json串 简单例子: >>> import json >>> dicts
-
Python模块的制作方法实例分析
本文实例讲述了Python模块的制作方法.分享给大家供大家参考,具体如下: 1 目的 利用setup.py将框架安装到python环境中,作为第三方模块来调用, 2 第一步:完成setup.py的编写 以下代码相当于一个模板,只用更改name字段出,改为对应的需要安装的模块名称就可以,比如这里是:py_plus 将setup.py文件放到py_plus的同级目录下 from os.path import dirname, join # from pip.req import parse_requ
-
python里运用私有属性和方法总结
如何在PYTHON里运用私有属性和方法 class File: def __init__(self, name): self.name = name self.code = "ABCDEF" file_A = File("file_A") #假设我们有一个类,叫做文件类,设置一个对象file_A. file_A.code #如果直接调用属性,是可以看到属性里面有什么,但是如果这是个机密的密码不能公布,是不能这么处理的. class File: def __init_
-
Python 类的私有属性和私有方法实例分析
本文实例讲述了Python 类的私有属性和私有方法.分享给大家供大家参考,具体如下: xx:公有变量 _xx:公有变量或方法,不能通过import导入其他模块(只有模块内部使用).类对象和子类可以访问 __xx:私有变量或方法(伪私有),类外部不能直接访问. __xx__:公有变量或方法,子类可以访问.魔法方法或属性(例如:__init__),不推荐这样命名. xx_:公有变量或方法.一般为了避免和python关键字冲突,不推荐这样命名. 在 定义属性或方法时,在 属性名或者方法名前 增加 两个
-
Python 私有属性和私有方法应用场景分析
类的私有属性和方法 Python是个开放的语言,默认情况下所有的属性和方法都是公开的 或者叫公有方法,不像C++和 Java中有明确的public,private 关键字来区分私有公有. Python默认的成员函数和成员变量都是公开的,类的私有属性指只有在类的内部使用的属性或方法,表现形式为以"__" 属性名或方法名以双下划线开头. class Test(object): __count = 0 # 私有属性 __count def get_count(self): return se
随机推荐
- PHP常用处理静态操作类
- win2003 使用DNS服务器实现负载均衡
- CKEditor 附插入代码的插件
- 深入mysql存储过程中表名使用参数传入的详解
- NetCore1.1+Linux部署初体验
- Javascript Event事件中IE与标准DOM的比较
- js数组的操作详解
- Windows系统中使用C#读取文本文件内容的小示例
- 在CMD中操作mysql数据库出现中文乱码解决方案
- javascript实现促销倒计时+fixed固定在底部
- 如何使用log miner分析oracle日志
- jQuery+CSS 实现的超Sexy下拉菜单
- jQuery获取当前点击的对象元素(实现代码)
- 在php MYSQL中插入当前时间
- Javascript实现汉字和拼音互转的终极方案
- javascript 基础篇2 数据类型,语句,函数
- Android编程中PopupWindow的用法分析【位置、动画、焦点】
- Android 系统语言切换监听和设置实例代码
- JAVA提高第九篇 集合体系
- 怎么锁定鼠标的示例代码分享