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通过装饰器检查函数参数数据类型的方法
Mar 13 Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 Python
python中的decorator的作用详解
Jul 26 Python
Linux 修改Python命令的方法示例
Dec 03 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
Pandas之Fillna填充缺失数据的方法
Jun 25 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
使用OpenCV去除面积较小的连通域
Jul 05 Python
Python使用UDP实现720p视频传输的操作
Apr 24 Python
Python os和os.path模块详情
Apr 02 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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
php中去除所有js,html,css代码
2010/10/12 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
Python中字符编码简介、方法及使用建议
2015/01/08 Python
Python中IPYTHON入门实例
2015/05/11 Python
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
python机器学习实战之树回归详解
2017/12/20 Python
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
广告学专业毕业生自荐信
2013/09/24 职场文书
护士个人简历自荐信
2013/10/18 职场文书
测绘工程专业个人自我评价
2013/12/01 职场文书
心得体会开头
2014/01/01 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
2015年项目工作总结
2015/04/29 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
详解Python中下划线的5种含义
2021/07/15 Python