Python类如何定义私有变量


Posted in Python onFebruary 03, 2020

这篇文章主要介绍了Python类如何定义私有变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前言

在java 的类中,如果你要定义一个私有变量,可以用修饰词 private,那么在Python 的类中呢,Python中没public private之类的修饰词,那Python 是如何定义私有变量的呢?

私有变量

在Python 类中定义私有变量,只要在变量前加 __ (两个下划线) ,那么该类的实例就不能引用了,看下面实例

>>> class demo(object):
...   __a =1
...   b = 2
...
>>> d = demo()
>>> print(d.b)
>>> d.__a
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: 'demo' object has no attribute '__a'

从上面的示例中可以看到,类demo的实例d可以不能调用变量__a,那实例d 有没有办法调用到__a呢,看下面的调用语法:

>>> d._demo__a
1

实例名+'_'+类名+私有变量 ,就能调用。大家记住这样的语法。

私有方法

私有方法同私有变量的语法也是一样的,我们直接看示例:

>>> class fun(object):
...   def __a(self):
...       print('聚焦学院AAA')
...   def b(self):
...       print('聚焦学院BBB')
...
>>> f = fun()
>>> f.b()
聚焦学院BBB
>>> f.__a()
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: 'fun' object has no attribute '__a'
>>> f._fun__a()
聚焦学院AAA

从上面的示例中可以看到,类的实例要调用私有方法也是和调用私有变量的语法一样。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 循环遍历字典元素的简单方法
Sep 11 Python
python实现装饰器、描述符
Feb 28 Python
python MNIST手写识别数据调用API的方法
Aug 08 Python
Python3.6.2调用ffmpeg的方法
Jan 10 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
在Python IDLE 下调用anaconda中的库教程
Mar 09 Python
通过代码实例解析Pytest运行流程
Aug 20 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
解决python存数据库速度太慢的问题
Apr 23 Python
教你用python实现12306余票查询
Jun 30 Python
Python中Selenium对Cookie的操作方法
Jul 09 Python
python异常处理try except过程解析
Feb 03 #Python
利用Python脚本实现自动刷网课
Feb 03 #Python
tensorflow 限制显存大小的实现
Feb 03 #Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 #Python
tensorflow指定GPU与动态分配GPU memory设置
Feb 03 #Python
TensorFlow内存管理bfc算法实例
Feb 03 #Python
python numpy数组中的复制知识解析
Feb 03 #Python
You might like
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
php常用的url处理函数总结
2014/11/19 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
php 数组元素快速去重
2017/05/05 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
2018/08/02 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
[02:42]2014DOTA2国际邀请赛 三冰专访:我会打到Ti20
2014/07/13 DOTA
python写的一个文本编辑器
2014/01/23 Python
Python环境变量设置方法
2016/08/28 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
如何学习Python time模块
2020/06/03 Python
python3将变量输入的简单实例
2020/08/19 Python
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
大学毕业生工作的自我评价
2013/10/01 职场文书
竞聘上岗演讲稿范文
2014/01/10 职场文书
求职推荐信范文
2015/03/27 职场文书
采购内勤岗位职责
2015/04/13 职场文书
仰望星空观后感
2015/06/10 职场文书