# 在很多程序中会遇到__name,_name的标识符,在类中,如果属性带有双 # 下划线,表示私有属性,通俗的讲,就是不能在类命名空间外被直接调用,但是 # 可以通过方法来调用。 # 其实这种表述并不明确,为什么不能被外部直接调用? # 因为,在类被定义的时候,带有双下滑线的属性,它的名字会自动发生改变: # 样式:_Classname__name # 所以,无法直接通过obj.__name访问到值;
# 作用:防止子类创建的对象与基类创建的对象出现命名空间冲突的问题;
# 单下划线,其实这种标识符没有什么卵用,并不是其它博客上写的隐藏属性的 # 作用,也不能避免继承中的命名空间冲突的问题,只是带有单下划线的模块, # 不能通过from some_module import * 来导入,但是可以指定导入,比如 # from a_module import _b_module;