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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
python中使用enumerate函数遍历元素实例
Jun 16 Python
python基于windows平台锁定键盘输入的方法
Mar 05 Python
Python实现设置windows桌面壁纸代码分享
Mar 28 Python
Python实现截屏的函数
Jul 25 Python
python类:class创建、数据方法属性及访问控制详解
Jul 25 Python
使用Python生成XML的方法实例
Mar 21 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 Python
Python面向对象之私有属性和私有方法应用案例分析
Dec 31 Python
使用python turtle画高达
Jan 19 Python
使用K.function()调试keras操作
Jun 17 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 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
PHP 图像尺寸调整代码
2010/05/26 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
PHP中empty,isset,is_null用法和区别
2017/02/19 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
javascript数组去重的方法汇总
2015/04/14 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
python删除服务器文件代码示例
2018/02/09 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
Django实现学员管理系统
2019/02/26 Python
django 环境变量配置过程详解
2019/08/06 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python判断元素是否存在的实例方法
2020/09/24 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
css3实现背景动态渐变效果
2019/12/10 HTML / CSS
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
护士自我介绍信
2014/01/13 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL