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中,类内方法外的变量叫属性,类内方法内的变量叫字段.他们的私有公有访问方法类似. 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直接访问私有属性的简单方法
实例化对象名._类名__私有属性名 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的私有属性和方法.分享给大家供大家参考.具体实现方法如下: 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
随机推荐
- JSP 开发之Spring BeanUtils组件使用
- 经常使用的JDBC连接数据库方式
- TreeView创建IHierarchicalDataSource类型的数据源实现
- javascript 上下banner替换具体实现
- Go语言中使用反射的方法
- Android App仿QQ制作Material Design风格沉浸式状态栏
- Python HTTP客户端自定义Cookie实现实例
- JQuery的Ajax中Post方法传递中文出现乱码的解决方法
- 关于使用js算总价的问题
- 在JS方法中返回多个值的方法汇总
- jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
- js iframe网站后台左右收缩型页面脚本
- 从汇编看c++中默认构造函数的使用分析
- 怎样在PHP中通过ADO调用Asscess数据库和COM程序
- c#典型工厂化实现实例
- python的numpy模块安装不成功简单解决方法总结
- iOS自动移除KVO观察者的实现方法
- 详解基于Vue-cli搭建的项目如何和后台交互
- mysql 8.0.12 安装配置教程
- 详解Android中PopupWindow在7.0后适配的解决