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 生成不重复的随机数的代码
May 15 Python
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
Dec 06 Python
python使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 Python
Python自动生产表情包
Mar 17 Python
火车票抢票python代码公开揭秘!
Mar 08 Python
利用Python正则表达式过滤敏感词的方法
Jan 21 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
Feb 18 Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 Python
详解python内置模块urllib
Sep 09 Python
对Pytorch 中的contiguous理解说明
Mar 03 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
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
python3编写C/S网络程序实例教程
2014/08/25 Python
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
安装docker-compose的两种最简方法
2019/07/30 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
广州一家公司的.NET面试题
2016/06/11 面试题
服装公司总经理岗位职责
2013/11/30 职场文书
公益活动策划方案
2014/01/09 职场文书
cf收人广告词
2014/03/14 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
春节联欢会策划方案
2014/05/16 职场文书
给老师的一封感谢信
2015/01/20 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
Python数据分析之pandas读取数据
2021/06/02 Python