Variables Clases
Variables protegidas y privadas
Section titled “Variables protegidas y privadas”Python no tiene private real; son convenciones (+ name mangling).
| Prefijo | Nombre | Efecto | Ejemplo |
|---|---|---|---|
_var | Protegido | Convención: “uso interno” | self._nombre |
__var | Privado | Renombra a _Clase__var | self.__nombre → _Persona__nombre |
sin _ | Público | Acceso normal | self.nombre |
Un guion _
Section titled “Un guion _”class Persona: def __init__(self, nombre): self._nombre = nombre # no lo toques desde fuera (por favor)
p = Persona("Ana")print(p._nombre) # funciona, pero es mala educaciónDoble guion __
Section titled “Doble guion __”Evita choques en herencia y acceso accidental. No es secreto absoluto.
class Persona: def __init__(self, nombre): self.__nombre = nombre
p = Persona("Luis")# print(p.__nombre) # AttributeErrorprint(p._Persona__nombre) # Luis (mangling)Más encapsulación: Getters/setters, Property.
Docs: clases — private.