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中,类内方法外的变量叫属性,类内方法内的变量叫字段.他们的私有公有访问方法类似. 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中可以通过在属性变量名前加上双下划线定义属性为私有属性,如例子: 复制代码 代码如下: #! encoding=UTF-8 class A: def __init__(self): # 定义私有属性 self.__name = "wangwu" # 普通属性定义 self.age = 19 a = A() # 正常输出 print a.ag
-
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
随机推荐
- javascript 调用其他页面的js函数或变量的脚本
- 深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
- vue+mockjs模拟数据实现前后端分离开发的实例代码
- 对Angular.js Controller如何进行单元测试
- 匹配移动/联通/电信手机号码正则表达式小结
- BootStrap实现邮件列表的分页和模态框添加邮件的功能
- JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
- php下pdo的mysql事务处理用法实例
- C#正则表达式使用方法示例
- python3 实现的人人影视网站自动签到
- Go语言的代码组织结构详细介绍
- Android自定义View实现内存清理加速球效果
- js时间日期格式化封装函数
- 感恩节比较实用的经典手机短信30条
- 收集的55个Linux系统管理中常用的一些shell命令
- 跨浏览器开发经验总结(四) 怎么写入剪贴板
- asp.net通过HttpModule自动在Url地址上添加参数
- JavaScript数组去重的五种方法
- 如何在windows9x下访问linux分区
- 分布式零配置路由堆叠方案