1、linux kernel中双下划线开头的函数
常常, 当你查看内核 API 时, 你会遇到以双下划线(__)开始的函数名. 这样标志的函数名通常是一个低层的接口组件,
应当小心使用. 本质上讲, 双下划线告诉程序员:" 如果你调用这个函数, 确信你知道你在做什么." ——《linux设备驱动程序》
C++;
系统头文件里将宏名、变量名、内部函数名用 _ 开头就是为了避免与用户用的名字冲突。因为当你#i nclude
系统头文件时,这些文件里的名字都有了定义,如果与你用的名字冲突,就可能引起各种奇怪现象。换句话说:我们写程序时一定不要用 _
开头的名字,以免与系统头文件的名字冲突,产生奇怪的问题(很难debug、弄清楚,当心)。
Python:
核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx
来表示变量是很好的习惯。因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。
"单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和自类对象自己能访问到这些变量;而
"双下划线" 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from
<