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 解析XML python模块xml.dom解析xml实例代码
Feb 07 Python
详解Python如何获取列表(List)的中位数
Aug 12 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
Python3导入自定义模块的三种方法详解
Apr 13 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
flask-restful使用总结
Dec 04 Python
Python使用scrapy爬取阳光热线问政平台过程解析
Aug 14 Python
Python实现密码薄文件读写操作
Dec 16 Python
Python自带的IDE在哪里
Jul 01 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 Python
python实现会员管理系统
Mar 18 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递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
DOM 基本方法
2009/07/18 Javascript
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
pandas数据集的端到端处理
2019/02/18 Python
Python try except finally资源回收的实现
2021/01/25 Python
HTML5 FormData 方法介绍以及实现文件上传示例
2017/09/12 HTML / CSS
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
印度购物网站:TATA CLiQ
2017/11/23 全球购物
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
护士自我评价
2014/02/01 职场文书
四年大学生活的自我评价范文
2014/02/07 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
九年级数学教学反思
2016/02/17 职场文书
导游词之河北邯郸
2019/09/12 职场文书
z-index不起作用
2021/03/31 HTML / CSS
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript