python中私有函数调用方法解密


Posted in Python onApril 29, 2016

本文实例讲述了python中私有函数调用方法。分享给大家供大家参考,具体如下:

与大多数语言一样,Python 也有私有的概念:

① 私有函数不可以从它们的模块外面被调用
② 私有类方法不能够从它们的类外面被调用
③ 私有属性不能够从它们的类外面被访问

与大多数的语言不同,一个 Python 函数,方法,或属性是私有还是公有,完全取决于它的名字。

如果一个 Python 函数,类方法,或属性的名字以两个下划线开始(但不是结束),它是私有的;其它所有的都是公有的。 Python 没有类方法 保护 的概念(只能用于它们自已的类和子类中)。类方法或者是私有(只能在它们自已的类中使用)或者是公有(任何地方都可使用)。

在 Python 中,所有的专用方法和内置属性遵守一个标准的命名习惯:开始和结束都有两个下划线。不要对你自已的方法和属性用这种方法命名;到后面,它只会把你(或其它人)搞乱。 私有方法由于某种原因而私有,但是象其它很多在 Python 中的东西一样,它们的私有化基本上是习惯问题,而不是强迫的。

注意,尽管我们不应该从类的外部访问类的私有方法,但实际上我们是可以访问的。类的私有方法的名字实际上都被“翻译”成前面加上单下划线和类名的形式。看下面的代码就会明白了。

>>> class A:
  def __privatefun(self):
    print('this is private function')
>>> a._A__privatefun()
this is private function

看到没有!我们从类的外部调用了类的私有方法!这是一个很有意思的技巧,但是切记我们不应该这样使用。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python安装教程 Pycharm安装详细教程
May 02 Python
python执行使用shell命令方法分享
Nov 08 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
Dec 14 Python
python实现画圆功能
Jan 25 Python
详解Python if-elif-else知识点
Jun 11 Python
python使用多进程的实例详解
Sep 19 Python
python虚拟环境迁移方法
Jan 03 Python
在PYQT5中QscrollArea(滚动条)的使用方法
Jun 14 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
Pandas之DataFrame对象的列和索引之间的转化
Jun 25 Python
Python数据分析模块pandas用法详解
Sep 04 Python
Python实现word2Vec model过程解析
Dec 16 Python
简单学习Python time模块
Apr 29 #Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 #Python
python遍历目录的方法小结
Apr 28 #Python
Python网络爬虫实例讲解
Apr 28 #Python
Python脚本实现自动发带图的微博
Apr 27 #Python
Python实现新浪博客备份的方法
Apr 27 #Python
Python2.7简单连接与操作MySQL的方法
Apr 27 #Python
You might like
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
php自动获取关键字的方法
2015/01/06 PHP
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
js变形金刚文字特效代码分享
2015/08/20 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python控制台显示时钟的示例
2014/02/24 Python
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
Python读取csv文件实例解析
2019/12/30 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
python实现猜数游戏
2020/03/27 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
小学综治宣传月活动总结
2014/07/02 职场文书
2014年中秋寄语
2014/08/11 职场文书
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
单位授权委托书范本
2014/09/26 职场文书
毕业生评语大全
2015/01/04 职场文书
工程款申请报告
2015/05/15 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
八年级作文之友谊
2019/12/02 职场文书