首页 / PYTHON / python单/双下划线使用
python单/双下划线使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python单/双下划线使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1007字,纯文字阅读大概需要2分钟。
内容图文
![python单/双下划线使用](/upload/InfoBanner/zyjiaocheng/1273/d95c79d933df4c8c818e12ee151f9214.jpg)
在Python编程中经常会遇到函数(function),方法(method)及属性(attribute)以下划线‘_‘作为前缀,这里做个总结。
主要存在四种情形:
1 1. object # public2 2. __object__# special, python system use, user should not define like it3 3. __object# private (name mangling during runtime)4 4. _object # obey python coding convention, consider it as private
1和2两种情形比较容易理解,不多做解释,最迷惑人的就是3和4情形。
在解释3和4情形前,首先了解下python有关private的描述,python中不存在protected的概念,要么是public要么就是private,但是python中的private不像C++, Java那样,它并不是真正意义上的private,通过name mangling(名称改编,下面例子说明)机制就可以访问private了。
1 class Foo(): 2 def __init__ (): 3 ... 4 def public_method(): 5 print ‘ This is public method ‘ 6 def __fullprivate_method (): 7 print ‘ This is double underscore leading method ‘ 8 def _halfprivate_method(): 9 print ‘ This is one underscore leading method ‘ 10 11 f = Foo() 12 f.public_method() # OK13 f.__fullprivate_method() # Error occur14 f._halfprivate_method() # OK
上文已经说明了,python中并没有真正意义的private,见以下方法便能够访问__fullprivate_method()
原文:http://www.cnblogs.com/chris-cp/p/6025934.html
内容总结
以上是互联网集市为您收集整理的python单/双下划线使用全部内容,希望文章能够帮你解决python单/双下划线使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】