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通过select实现异步IO的方法
Jun 04 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
python修改list中所有元素类型的三种方法
Apr 09 Python
Python返回数组/List长度的实例
Jun 23 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
Python实现爬取马云的微博功能示例
Feb 16 Python
Python线程之定位与销毁的实现
Feb 17 Python
Python 中使用 PyMySQL模块操作数据库的方法
Nov 10 Python
快速解决jupyter启动卡死的问题
Apr 10 Python
python 匿名函数与三元运算学习笔记
Oct 23 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
Nov 27 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 实现多服务器共享 SESSION 数据
2009/08/15 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
vue中引入第三方字体文件的方法示例
2018/12/17 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
python解析xml简单示例
2019/06/21 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
二年级体育教学反思
2014/01/15 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
镇创先争优活动总结
2014/08/28 职场文书
六查六看自查报告
2014/10/14 职场文书
英文产品推荐信
2015/03/27 职场文书
小学班主任工作随笔
2015/08/15 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
详解Python类和对象内容
2021/06/22 Python