例子
class A:
def __init__(self, var1):
self.var1 = var1
self.__var2 = var1
def get(self):
return self.var2
def get2(self, var):
return getattr(self, var)
instance = A("123")
a = instance.var1
b = instance.get()
c = instance.get2("var2")
从灵活性角度来讲, a=c>b ,
从速度来讲 b 的耗时约是 a 的 1.5 倍, c 的耗时约是 a 的 2.5 倍,
从代码健壮性角度来看,也许是反过来的。
Q1 假如我把这个操作封装在某个函数里,那么,在那个函数里还有必要做这种访问限制吗?
Q2 在使用者能获取到源代码的情况下,有必要做这样的限制吗?
Q3 一般什么样的实际情况下才会添加这种访问限制?