python单/双下划线使用
2016-11-03 11:39
218 查看
在Python编程中经常会遇到函数(function),方法(method)及属性(attribute)以下划线'_'作为前缀,这里做个总结。
主要存在四种情形:
1和2两种情形比较容易理解,不多做解释,最迷惑人的就是3和4情形。
在解释3和4情形前,首先了解下python有关private的描述,python中不存在protected的概念,要么是public要么就是private,但是python中的private不像C++, Java那样,它并不是真正意义上的private,通过name mangling(名称改编,下面例子说明)机制就可以访问private了。
上文已经说明了,python中并没有真正意义的private,见以下方法便能够访问__fullprivate_method()
主要存在四种情形:
1 1. object # public 2 2. __object__ # special, python system use, user should not define like it 3 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() # OK 13 f.__fullprivate_method() # Error occur 14 f._halfprivate_method() # OK
上文已经说明了,python中并没有真正意义的private,见以下方法便能够访问__fullprivate_method()
相关文章推荐
- python 下划线的使用(转载:安生犹梦 新浪博客)
- Python中下划线的使用方法
- Python中单/双下划线使用 分类: python python基础学习 2013-09-02 21:31 1764人阅读 评论(0) 收藏
- python: 下划线 使用
- python 单下划线及双下划线使用总结
- python 单下划线/双下划线使用总结
- python 单下划线/双下划线使用总结
- Python中下划线的使用方法
- Python下划线的使用 _ __ __obj__
- python单下划线/双下划线使用总结
- python 单下划线/双下划线使用总结
- Python中下划线的使用
- Python中单/双下划线使用
- Python中下划线的使用方法
- python 单下划线/双下划线使用总结
- Python中单/双下划线使用
- python 单下划线/双下划线使用总结
- python 单下划线/双下划线使用总结
- python 单下划线/双下划线使用总结
- C Java PHP Perl Python 的程序代码美化工具(Pretty Print Program/Source Code Beautifier)使用