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的几种常见方法的介绍
Apr 09 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
Python OpenCV利用笔记本摄像头实现人脸检测
Aug 20 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
python实现截取屏幕保存文件,删除N天前截图的例子
Aug 27 Python
python破解bilibili滑动验证码登录功能
Sep 11 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 Python
在Django中实现添加user到group并查看
Nov 18 Python
TensorFlow学习之分布式的TensorFlow运行环境
Feb 05 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
Jun 17 Python
安装Anaconda3及使用Jupyter的方法
Oct 27 Python
如何利用python正则表达式匹配版本信息
Dec 09 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
destoon安装出现Internal Server Error的解决方法
2014/06/21 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
php如何连接sql server
2015/10/16 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
Python 爬取携程所有机票的实例代码
2018/06/11 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
Python Django view 两种return的实现方式
2020/03/16 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
python利用faker库批量生成测试数据
2020/10/15 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
匈牙利墨盒和碳粉购买网站:CDRmarket
2018/04/14 全球购物
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
学雷锋宣传标语
2014/06/25 职场文书
村级四风对照检查材料
2014/08/24 职场文书
个人收入证明模板
2014/09/18 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
网吧员工管理制度
2015/08/05 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书
Redis中一个String类型引发的惨案
2021/07/25 Redis
MySQL日期时间函数知识汇总
2022/03/17 MySQL