class EjemploEncapsulamiento:
  def __init__(self):
      self.publico = "Atributo Público"
      self._protegido = "Atributo Protegido"
      self.__privado = "Atributo Privado"

  def get_privado(self):
      return self.__privado

  def metodo_publico(self):
      return "Método Público"

  def _metodo_protegido(self):
      return "Método Protegido"

  def __metodo_privado(self):
      return "Método Privado"

  def acceso_privado(self):
      return self.__metodo_privado()

obj = EjemploEncapsulamiento()

print(obj.publico) 
print(obj.metodo_publico())  

print(obj._protegido)  
print(obj._metodo_protegido()) 

print(obj.get_privado())  
print(obj.acceso_privado())

"""
En este código se ejemplifica cómo son y cómo se declaran los niveles de acceso de los atributos y métodos de una clase en Python. Para acceder al atributo y método público, solo basta con instanciar el objeto de la clase.

Para los protegidos, basta con lo mismo, solo siguiendo la convención de _ para identificarlo como protegido. Para acceder al atributo privado se debe usar el método get_privado(), y para acceder al método privado se debe usar el método acceso_privado() que a su vez retorna el método privado.

"""

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: