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网络编程学习笔记(三):socket网络服务器
Jun 09 Python
python skimage 连通性区域检测方法
Jun 21 Python
python解析含有重复key的json方法
Jan 22 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
python3对拉勾数据进行可视化分析的方法详解
Apr 03 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
django多种支付、并发订单处理实例代码
Dec 13 Python
Python 实现向word(docx)中输出
Feb 13 Python
python中threading开启关闭线程操作
May 02 Python
sklearn和keras的数据切分与交叉验证的实例详解
Jun 19 Python
如何通过python计算圆周率PI
Nov 11 Python
python基于tkinter制作下班倒计时工具
Apr 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
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
PHP实现图片压缩
2020/09/09 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
用js实现放大镜效果
2020/10/28 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
python方法生成txt标签文件的实例代码
2018/05/10 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
人事部主管岗位职责
2013/12/26 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
教师节倡议书
2014/08/30 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
python实现局部图像放大
2021/11/17 Python