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实现父类调用两种方法的不同
Jan 15 Python
Python解决八皇后问题示例
Apr 22 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
Python 循环终止语句的三种方法小结
Jun 24 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Python中私有属性的定义方式
Mar 05 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 Python
python和js交互调用的方法
Jun 23 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 Python
python中openpyxl和xlsxwriter对Excel的操作方法
Mar 01 Python
python中的被动信息搜集
Apr 29 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常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
jquery+ajax请求且带返回值的代码
2015/08/12 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
vue实现微信获取用户信息的方法
2019/03/21 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
用Python读取几十万行文本数据
2018/12/24 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
keras中的History对象用法
2020/06/19 Python
详解python UDP 编程
2020/08/24 Python
python实现自动清理重复文件
2020/08/24 Python
个人借款协议书范本
2014/11/17 职场文书
优秀教研组申报材料
2014/12/26 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
公司更名通知函
2015/04/24 职场文书
2015年语文教师工作总结
2015/05/25 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
Go语言中break label与goto label的区别
2021/04/28 Golang
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技