关于python中的隐私保护
在像JAVA,C++等其他语言中,变量的声明都带有访问权限设置,在python中虽然也有private属性,但是只是变换了命名规则,熟悉命名规则的还是能找到并修改private的变量值,且python中并不提倡使用private属性
关于property
虽然在python中不提倡使用private,但是在实际情况下,不声明可访问范围很可能会导致函数内变量的改变,如以下代码
class number():
def __init__(self,x,y):
self.x = x
self.y = y
def show(self):
print(self.x,self.y)
test = number(4,5)
test.show()
test.x = 100
test.show()
显示结果为
PS C:\Users\Administrator\Desktop\study\pycode> python test.py
4 5
100 5
PS C:\Users\Administrator\Desktop\study\pycode>
可见函数内变量并不安全,容易被改变,所以property函数的用法的意义为,只有通过特定的方法才能改变函数内变量的值或者是访问函数内变量,否则报错,示例代码如下
class number():
def __init__(self,x,y):
self._x = x
@property
def show(self):