Hola! Mi duda es. Hay definiciones que usan guion bajo <code>_</code> para atributos protegidos y doble guión bajo para atributos privado...

Jonathan Maita

Jonathan Maita

Pregunta
studenthace 5 años

Hola!

Mi duda es. Hay definiciones que usan guion bajo

_
para atributos protegidos y doble guión bajo para atributos privados
__
. Cual convención deberíamos usar, ya que, explicas que el atributo con guion bajo
_
es un atributo privado.

Saludos.

3 respuestas
para escribir tu comentario
    jose zuñiga

    jose zuñiga

    studenthace 5 años

    Hola. El decorador es @property. Un decorador en Python es una función que agrega funcionalidades a otra función. Por ejemplo supongamos una función simple que se llamara Saludo, la cual al llamarla escribe "Hola".

    def Saludo(): printf("Hola")

    Si la invocas solo escribirá "hola"

    Saludo Hola

    Ahora supongamos tienes una función de tipo decorador supongamos que se llama @decorador, que al decorar la función Saludo te agrega la frase "soy Jonathan". Quedaría algo como esto:

    @decorador def Saludo(): printf("Hola")

    Al invocar tu función saludo, la cual esta decorada, no solo te imprimirá Hola, ahora te imprimirá: Hola soy Jonathan.

    Saludo Hola soy Jonathan

    Ese es a groso modo el concepto de decorador. Esta es una clase en la que puedes explorar mejor el concepto. https://platzi.com/clases/1104-python/7115-decorador-2/

    Aunque para la finalidad del tema que estamos tratando, es mejor que entiendas mejor el concepto de encapsulamiento. Si es de tu interes en la sección de preguntas hice un resumen de lo que capte de la clase e investigue por mi cuenta https://platzi.com/comentario/1230128/.

    En la sección de preguntas de esta clase hay algunas recomendaciones de otros usuarios a foros que explican muy bien este concepto, recomiendo lo leas para mejorar el concepto.

    https://platzi.com/comentario/1202612/ https://pythones.net/propiedades-en-python-oop/

    Jonathan Maita

    Jonathan Maita

    studenthace 5 años

    Hola!

    Con decoradores te refieres a los getter and setter?.

    Saludos.

    jose zuñiga

    jose zuñiga

    studenthace 5 años

    Bueno en python, como lo mencionas es solo por convención. Tal y como lo describe _protegido y __privado se diferencian con uno y dos guiones bajos. A pesar de que es una convención esta sintaxis si agrega cierta restricción que se puede "vulnerar" fácilmente, por lo tanto, no es suficiente solo escribirlas de esta manera. Se hace necesario usar un decorador que las encapsule mediante una función.

Curso de POO y Algoritmos con Python

Curso de POO y Algoritmos con Python

Comprende la eficiencia algorítmica con Python. Analiza complejidad temporal y espacial, visualiza resultados y resuelve problemas de optimización. Ideal para desarrollar habilidades esenciales en el análisis de algoritmos.

Curso de POO y Algoritmos con Python
Curso de POO y Algoritmos con Python

Curso de POO y Algoritmos con Python

Comprende la eficiencia algorítmica con Python. Analiza complejidad temporal y espacial, visualiza resultados y resuelve problemas de optimización. Ideal para desarrollar habilidades esenciales en el análisis de algoritmos.