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通过定义一个类实例作为ftp回调方法
May 04 Python
python实现二维码扫码自动登录淘宝
Dec 27 Python
python Pygame的具体使用讲解
Nov 03 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
对python_discover方法遍历所有执行的用例详解
Feb 13 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
Python 实现遥感影像波段组合的示例代码
Aug 04 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
Feb 10 Python
Python基于httpx模块实现发送请求
Jul 07 Python
区分python中的进程与线程
Aug 13 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
Nov 18 Python
python eventlet绿化和patch原理
Nov 21 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和ACCESS写聊天室(十)
2006/10/09 PHP
php 传值赋值与引用赋值的区别
2010/12/29 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
python读写ini文件示例(python读写文件)
2014/03/25 Python
python中私有函数调用方法解密
2016/04/29 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python怎么判断素数
2020/07/01 Python
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
承诺书怎么写
2014/03/26 职场文书
纪检监察建议书
2014/05/19 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
交通安全教育心得体会
2016/01/15 职场文书