python中getter和setter装饰器的使用

问题描述

最近我实现了@property 装饰器并使用了@getter 和@setter 然后我突然想到使用@getter 和@setter 是在浪费时间。我想为什么我们不将变量设为 public 或变量protect?像下面的例子

class Example:
    def __init__(self,age):
        self.__age = age

    @property
    def age(self):
        #print("getValue")
        return self.__age

    @age.setter
    def age(self,newValue):
        #print("newValue")
        self.__age = newValue

obj = Example(10)

# I think 3 lines down is something similar to 
print(obj.age)
obj.age = 20
print(obj.age)
print("----")


class Example2:
    def __init__(self,age):
        self.age = age

obj2 = Example2(30)

# this
print(obj2.age)
obj2.age = 40
print(obj2.age)

这不会丢掉线吗?我对吗? 如果我错了有什么区别?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)