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查找第k小元素代码分享
Dec 18 Python
python django集成cas验证系统
Jul 14 Python
部署Python的框架下的web app的详细教程
Apr 30 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 Python
使用Python AIML搭建聊天机器人的方法示例
Jul 09 Python
Python 实现一个手机号码获取妹子名字的功能
Sep 25 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
基于python实现操作redis及消息队列
Aug 27 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 Python
python3中calendar返回某一时间点实例讲解
Nov 18 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下删除一篇文章生成的多个静态页面
2010/08/08 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
QML使用Python的函数过程解析
2019/09/26 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
python 如何快速复制序列
2020/09/07 Python
python函数超时自动退出的实操方法
2020/12/28 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
描述RIP和OSPF区别以及特点
2015/01/17 面试题
咖啡书吧创业计划书
2014/01/13 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
党的作风建设心得体会
2014/10/22 职场文书
违纪检讨书
2015/01/27 职场文书
外贸业务员岗位职责
2015/02/13 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书