No me queda claro, para que se usa self dentro de una función? de lo pude entender es que se usa para invocarse a si misma ? Esto mas se ...

Gabriela Barrezueta

Gabriela Barrezueta

Pregunta
studenthace 5 años

No me queda claro, para que se usa self dentro de una función? de lo pude entender es que se usa para invocarse a si misma ?

Esto mas se usa como una buena practica y puede nombrarse de cualquier otra manera, pero lo recomendable es nombrarla self. ??

5 respuestas
para escribir tu comentario
    Gabriela Barrezueta

    Gabriela Barrezueta

    studenthace 5 años

    Gracias chicos por sus aportaciones, ya me quedó más claro el concepto.

    rusbel bermúdez rivera

    rusbel bermúdez rivera

    studenthace 5 años

    Self es un apuntador a la instancia misma, es una convención, puedes llamarlo this como en javascript, pero es una buena practica dentro de python, cuando tienes la variable de instancia self.name, a diferencia de una variable color dentro de una función, si necesitas acceder al color en alguna otra variable, seria necesario retornarla y pasarla como argumento a la siguiente función, el "apuntador" self te permite acceder a todas las variables de instancia (self), y modificar su comportamiento mediante los métodos de instancia (self) de ahí pasar el self como parámetro a todas las funciones en los ejercicios (aunque existen otros métodos como los estáticos, y de clase,aquí una breve referencia https://blog.nearsoftjobs.com/tipos-de-m%C3%A9todos-en-python-cls-vs-self-d6da1e08efa8 ).

    Juan Carlos Barbaran Meza

    Juan Carlos Barbaran Meza

    studenthace 5 años

    Es un poco complicado de entender, pero yo lo entendí de esta forma:

    Si una funcion recibe parametros por ejemplo:

    • Area(self, base, altura)

    Las instancias de las clases en si pueden ser representadas por "self" y cuando hay un metodo de la clase se pone self que puede ser reemplazado por la instancia.

    Por ejemplo si creo la instancia de una clase Poligono:

    triangulo = Poligono(3) cuando hago eso en su metodo Area se esta reemplazando self con triangulo.

    Gabriela Barrezueta

    Gabriela Barrezueta

    studenthace 5 años

    Hola, Gracias...! Entonces el **self **sería el **this **de otros lenguajes de programación.

    Josue Noha Valdivia

    Josue Noha Valdivia

    studenthace 5 años

    Hola si self se usa para referirse a la misma funcion; por estandar (para que nos entendamos entre programadores) usamos la palabra self. python toma como self el primer atributo que coloques a tu metodo ejemplo:

    def lavar(lavado, temperatura, nivel_agua)
    python tomaria a lavado como esa forma de autoreferenciarse

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.