zzbbwoaini 发表于 2019-11-6 10:34:27

关于property装饰器的小白问题

为什么在使用getter修改了之后,self.age已经改变了,self._age还没有改变,self.age返回的不应该就是self._age的值吗?
在使用person.age(22)替代self.age = 22之后,self._age的值又改变了

class Person(object):
    def __init__(self,name,age):
      self._name = name
      self._age = age

    def name(self):
      return self._name

    def age(self):
      return self._age

    def age(self,age):
      self._age = age

    def play(self):
      if self._age <= 16:
            print("%s正在玩飞行棋."% self._name)
      else:
            print("%s正在玩斗地主."% self._name)

def main():
    person = Person("王大锤",12)
    person.play()
    person.age = 22
    print(person.age)
    print(person._age)
    person.play()

if __name__ == '__main__':
    main()

都淡忘 发表于 2019-11-6 11:37:17

???self._age和self.age半毛钱关系都没有

DetConan 发表于 2020-3-26 08:12:03

你的装饰器在哪里?

永恒的蓝色梦想 发表于 2020-3-26 08:23:14

你连property都没用搁着逗我呢?
页: [1]
查看完整版本: 关于property装饰器的小白问题