python模块中的视为私有属性
总的来说,python中有__xxx__,_ xxx,__ xxx几种特殊的属性
在python模块中,我们经常会见到__xxx__,__xxx ,_x
其中后面两种(__xxx ,_x)是习惯上的私有变量,我们不应该在外部使用它,而是应该通过调用内部函数来使用,但这里是不应该而不是不能,所以要靠我们自觉遵守这个标准,另外,在自定义模块的时候,也要考虑到对这种视为私有属性的属性要有相应的方法(也就是相应的操作函数)
而__xxx__是特殊变量,比如说__name__这些的
在python面向对象编程中的视为私有属性和私有属性
在面向对象编程中有真正的私有属性,就是__xxx,而_xxx则视为私有属性,虽然真正的私有属性在类外部无法进行访问,但是python中一般是将__xxx变成了_classname__xxx,所以我们在外部可以用实例._classname__xxx进行访问,但是这只是一般情况下,不同的python编译器可能会有所不同
在_xxx视为私有属性的意思其实就是你可以从外部访问我,但是请把我视为私有属性,不要随意访问,类内部也应该有我的操作函数,这种视为私有变量是常用的,真正的私有变量倒不是那么常用,遵守标准的话。
另外, _xxx在from module import *不会被导入,但是可以用import module,通过module._xxx访问