Видимость и проблемы доступности @property декоратор

1, доступ к проблемам видимости

В Python доступ к свойствам и методам только два, то есть, государственные и частные, если вы хотите, собственность является частной собственностью в имени, которое будет использоваться как два подчеркивания начала. Как следует:

  # Приватных переменный перед именем переменного с «__»
  # Если вы должны использовать частные переменные, вы можете использовать директории (класс ()) , чтобы просмотреть его настоящее имя.
  # Частных переменные / функции могут быть вызваны непосредственно в классе.
  # Если вы хотите , чтобы отразить переменную / функция особенно важна , что вы можете использовать «_»

2, @property декоратора

      Перед тем как мы обсудили вопрос о доступе к свойствам и методам в Python, мы не рекомендуем собственность частным, но имена атрибутов, которые начинаются с одного символа подчеркивания, подразумевает, что собственность защищена таким образом, не рекомендуется непосредственно снаружи доступ, так что если вы хотите получить доступ к свойству через свойство геттерного (аксессор) выполняют соответствующие операции и метод установки (модификатор), который должен рассмотреть вопрос об использовании @property обертки завернуть методы получения и установки. Как следует:

  # Декоратор , когда необходимо обратить внимание на:
     . # 1 имена декоратора, имена функций должны соответствовать
    # нужно 2. Имущества объявить, написать сеттер, заказ не может быть отменен
    # 3. Если вы хотите немногих переменные , но не может быть доступен модифицируется, вы можете использовать устройство для доступа к @property
    # 4. Если вы хотите изменить переменные аксессор можно построить модификатор, или удалить контроль доступа.

# Входные три числа (частные), найти три числа и попытаться изменить две цифры:

Случай I:

  # Display «маленькие монстры, как Ультрачеловек»

  # При вводе пароля, изменять содержимое

-------------------------------------------------- -------------------------------------------------- -

Класс spacei (Object):
  DEF __init __ (Self):
    Само .__ A = "Альтман маленький монстр , как"
    Само .__ Mima = "000000" пароль #
  @property # сбруя - метод геттер
  DEF A (Self):
    Print ( .__ Самоподдерживающаяся)
  @ # A.setter модификатор - метод установки
  DEF А (Я, А):
    Само .__ А =
  DEF МИМ (Self):
    Print ( "введите пароль")
    RES = НАКОПЛЕНИЕ ( "")
    IF Рез == самостоятельно .__ Mima: # если заявление определить Res == само .__ Mima равенство, равное изменение , если содержимое
      печати ( «! введите правильный пароль, изменить содержание конфиденциальности»)
      A = входe ( «»)
      self.a = A
      печать ( "содержание успешно изменено", Self .__ A)
    еще:
      печать ( "ввод кода ошибки, повторно введите:")
      self.mima ()
  DEF WER (Self):
    печать ( «Вы хотите изменить или бросить курить?»)
    мы = вход ( "") ,
    если мы == "更改":
      self.mima ()
    еще:
      передать
Пробел = пробел ()
Space.A
Space.wer ()

-------------------------------------------------- -------------------------------------------------- -

рекомендация

отwww.cnblogs.com/honey-2019/p/11322428.html
рекомендация