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中PDB模块中的命令来调试Python代码的教程
Mar 30 Python
编写自定义的Django模板加载器的简单示例
Jul 21 Python
Python利用itchat对微信中好友数据实现简单分析的方法
Nov 21 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
python数据处理 根据颜色对图片进行分类的方法
Dec 08 Python
DRF跨域后端解决之django-cors-headers的使用
Jan 27 Python
python 定时器,轮询定时器的实例
Feb 20 Python
python爬虫实现中英翻译词典
Jun 25 Python
python把转列表为集合的方法
Jun 28 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
python银行系统实现源码
Oct 25 Python
基于python纯函数实现井字棋游戏
May 27 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/11/12 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
JS实现的RGB网页颜色在线取色器完整实例
2016/12/21 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python中的asyncio代码详解
2019/06/10 Python
python tkinter实现屏保程序
2019/07/30 Python
python ftplib模块使用代码实例
2019/12/31 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
烹饪自我鉴定
2014/03/01 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
django中websocket的具体使用
2022/01/22 Python
浅谈Vue的computed计算属性
2022/03/21 Vue.js