Juan Carlos Hernández
PreguntaHola! Alguien me podría decir que significa cuando le pasa la palabra **self **a las funciones?
María Fernanda Magallanes Z
El self significa uno mismo, es como hacer que una función actue sobre si misma. Pero es un tema más de convenciones y de comprensión de código.
El no usarlo es como cuando alguien te va a saludar y te escribe ola en vez de hola. :grimacing:
Alberto Perdomo
Esto lo haces cuando una función está declarada dentro de una clase, es similar al this de javascript. Dado que la clase es prototipo de un objeto, al escribir el argumento self en una función se está declarando que puede ser invocada como un metodo publico de este objeto ¿Porqué es necesario hacer esto? Porque todo en python es tratado como un objeto, osea que todo hereda de la clase padre Object, y cuando declaras una función normal, esta automaticamente pertenece a la clase padre del lenguaje(Object) a no ser que le indiques lo contrario con self dentro de una clase, también es posible omitir este argumento usando el decorador static sobre la función, esto vuelve al metodo estatico y lo limita solo ser usado dentro de la clase.
Te recomiendo el curso de programación orientada a objetos de Platzi, es muy bueno.