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制作CSDN免积分下载器
Mar 10 Python
介绍Python中的__future__模块
Apr 27 Python
Python实现统计单词出现的个数
May 28 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
详解python实现交叉验证法与留出法
Jul 11 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 Python
深入浅析python 中的self和cls的区别
Jun 20 Python
Python语言内置数据类型
Feb 24 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
PHP中几个常用的魔术常量
2012/02/23 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
简单的php文件上传(实例)
2013/10/27 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
JavaScript中join()方法的使用简介
2015/06/09 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
举例讲解Python中is和id的用法
2015/04/03 Python
mac下如何将python2.7改为python3
2018/07/13 Python
10个Python小技巧你值得拥有
2018/09/29 Python
python批量处理文件或文件夹
2020/07/28 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
最新会计专业求职信范文
2014/01/28 职场文书
平安建设汇报材料
2014/12/29 职场文书
2015年人事科工作总结
2015/04/28 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
Canvas跟随鼠标炫彩小球的实现
2021/04/11 Javascript