python中的下划线
小甲鱼的课程中单个下划线是私有属性 例如_name这种。但是在廖雪峰的课程里私有属性是双前下划线 例如__name知乎上的文档也是单下划线,这个和版本有关系?
单下划线开头表示这个属性是被保护的属性,双下划线开头表示这个属性是私有属性。 双下划线的是私有属性
另有说法单下划线为保护属性,实际上单下划线不能起到保护作用,仅仅看程序员的个人操守{:10_327:} 本帖最后由 hrp 于 2020-3-31 23:22 编辑
前单下划线是属于约定级别的,尊不遵守完全看程序员的意愿。前双下划线是解释器会对其属性名进行修改的,在外部用原属性名是访问不到的(不怎么严格,硬要访问还是有办法访问的) 永恒的蓝色梦想 发表于 2020-3-31 21:33
双下划线的是私有属性
另有说法单下划线为保护属性,实际上单下划线不能起到保护作用,仅仅看程序员的个人 ...
单下划线没啥用{:10_327:} hrp 发表于 2020-3-31 21:51
前单下划线是属于约定级别的,尊不遵守完全看程序员的意愿。前双下划线是解释器会对其属性名进行修改的,在 ...
可以理解为单下划线是逗你玩,双下划线还稍微能保护点,但也不牢靠。可以这么想把。 。。 一个账号 发表于 2020-3-31 22:20
单下划线没啥用
。。。那跟着小甲鱼课程走一直用单下划线。。。还是改一下,私有属性用双下划线。但是小甲鱼这课程里面一直说的事单下划线外部不能访问啊。。。这是不是有歧义啊 ronald627 发表于 2020-3-31 23:45
可以理解为单下划线是逗你玩,双下划线还稍微能保护点,但也不牢靠。可以这么想把。 。。
是的 ronald627 发表于 2020-3-31 23:45
可以理解为单下划线是逗你玩,双下划线还稍微能保护点,但也不牢靠。可以这么想把。 。。
这些都是写约定俗成的命名规则 _2_ 发表于 2020-4-1 08:55
这些都是写约定俗成的命名规则
理解,单下划线就是告诉其他程序员,这个属性、参数只是程序内部调用,但是如果真有人在外部调用也拦不住。双下划就是真的隐藏起来的了。这样理解是ok的把 ronald627 发表于 2020-4-3 11:15
理解,单下划线就是告诉其他程序员,这个属性、参数只是程序内部调用,但是如果真有人在外部调用也拦不住 ...
Python 没有绝对的隐藏,理论上所有定义的变量都是可以外部访问的,上面那些只是命名规则,用来告诉别人到底这个变量是干什么的
页:
[1]