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类的专用方法实例分析
Jan 09 Python
python集合用法实例分析
May 30 Python
详解python中executemany和序列的使用方法
Aug 12 Python
Python对列表中的各项进行关联详解
Aug 15 Python
基于Python在MacOS上安装robotframework-ride
Dec 28 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
python实现3D地图可视化
Mar 25 Python
jupyter notebook清除输出方式
Apr 10 Python
Python实现快速大文件比较代码解析
Sep 04 Python
jupyter notebook远程访问不了的问题解决方法
Jan 11 Python
Linux系统下升级pip的完整步骤
Jan 31 Python
python3实现常见的排序算法(示例代码)
Jul 04 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 iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
你的 mixin 真的兼容 ECMAScript 5 吗?
2013/04/11 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
图解js图片轮播效果
2015/12/20 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
详解Python用户登录接口的方法
2019/04/17 Python
python实现弹跳小球
2019/05/13 Python
python 公共方法汇总解析
2019/09/16 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
详解Python 最短匹配模式
2020/07/29 Python
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
火锅店的活动方案
2014/08/15 职场文书
银行授权委托书样本
2014/10/13 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
详解Python自动化之文件自动化处理
2021/06/21 Python
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫