Python para todos: Diferencia entre método y funciónPaloma Recuero de los Santos 13 mayo, 2020 Cuando damos nuestros primeros pasos en Python, nos encontramos con dos conceptos muy similares que nos pueden llevar a confusión: funciones y métodos. En este post, intentaremos aclarar esta duda de forma muy sencilla. Funciones en Python Como en otros lenguajes de programación, una función no es más que una porción o bloque de código reutilizable que se encarga de realizar una determinada tarea. Resulta muy cómodo trabajar con funciones, porque no es necesario reescribir ese código cada vez que nos enfrentamos a dicha tarea. Tan solo, llamar a la función. «Built-in» functions En Python hay funciones ya creadas (built-in functions), que pueden requerir o no parámetros, como por ejemplo, la función help(), que ofrece la ayuda del sistema sobre determinado comando, la función abs(), que devuelve el valor absoluto de un número etc… Figura 1: ejemplo de uso de la función help() Figura 2: ejemplo de uso de la función abs() Crear funciones en Python Si no existe ya la función que necesitamos, resulta muy sencillo crearla en Python. Primero la declaramos con def (nombre función), y luego definimos su contenido (código indentado dentro de la función). Por ejemplo, podemos crear una función que sume dos números. Después, hacemos una llamada a la función, facilitándole los valores de los dos parámetros: Figura 3: ejemplo de definición de la función sumar() Hasta aquí, todo muy claro. Pasamos a introducir el segundo concepto. Veremos que un método, es algo parecido a una función, una porción de código que realiza determinada tarea, pero no es exactamente lo mismo. Métodos en Python Python es un lenguaje multiparadigma, que soporta programación orientada a objetos (POO), siendo las clases y los objetos sus principales bloques de desarrollo. Las clases son los modelos sobre los cuáles se construirán nuestros objetos, mientras que los objetos son instancias de esa clase. Por ejemplo, vamos a crear la clase «Persona», con dos atributos, «nombre» y «edad». A continuación, creamos un objeto de esa clase: Pablo, 30 años. Figura 4: ejemplo de definición de una clase y un objeto Los métodos son acciones o funciones que puede realizar un objeto. Al igual que Python ofrece una serie de funciones «built-in», también pone a nuestra disposición un conjunto de métodos ya creados. Estos métodos dependen del tipo de objeto con el que estemos trabajando. Los objetos en Python pueden ser de distintos tipos: cadena de caracteres (string)booleanos (booleans)números enteros (integer)números decimales (float)listas (list) Por ejemplo, para los objetos tipo cadena de caracteres, tenemos métodos como : capitalize(), que convierte en mayúscula la primera letra de la cadenaindex(), que busca determinado carácter en la cadena y devuelve su posiciónsplit(), que divide la cadena según el separador que indiquemos y la convierte en un listatitle(), que convierte el primer carácter de cada palabra en mayúsculasetc También hay métodos ya creados para otro tipo de objetos, como listas, diccionarios, tuplas, sets o incluso ficheros. Si no nos sirve ninguno para nuestro objetivo, siempre podemos crearlo nosotros mismos, como ocurre con las funciones. Para acceder a los métodos y propiedades de un objeto, Python utiliza una sintaxis muy simple: el nombre del objeto, seguido de punto y la propiedad o método al cuál se desea acceder. Por ejemplo, vamos a probar los métodos title() y count() sobre el string «primavera»: Figura 5: ejemplo de uso de métodos de string Métodos vs funciones ¿Cuál es entonces la diferencia entre métodos y funciones?. La principal diferencia es que un método es parte de una clase, es decir, es parte de la funcionalidad que le damos a un objeto. Por tanto, siempre va a estar asociado a un objeto. Sin embargo, las funciones en Python, están definidas por si mismas y no pertenecen a ninguna clase. Al ser intrínsecos al objeto en sí, cada objeto tiene sus propios métodos. Incluso aunque se llamen igual, pueden tener un significado distinto. Por ejemplo, el método index está disponible para los objetos string y list. Sobre una cadena de caracteres, da el índice de la letra en esa palabra, sobre una lista, da la posición de un elemento en una lista Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube. Caso de éxito: Lograr una estrategia de negocio basada en audienciasPhyton para todos: 5 formas de detectar «missing values»
Álvaro Alegria Meunier Principales retos para la adopción del metaverso En un post anterior dedicado al metaverso explicaba en qué consiste el metaverso y veíamos qué oportunidades iba a ofrecer a las empresas. Hoy quiero compartir otros retos que, en...
Paloma Recuero de los Santos ¿Cómo hablar a los niños sobre la Inteligencia Artificial? Desde la conocida como “generación de los constructores”, los nacidos entre 1925 y 1944, a los pequeños “alfa”, los hijos de los “millenials”, la tecnología ha ido ganando terreno...
AI of Things Descubre lo que tienes que saber sobre 6G Promete aterrizar en 2030 y tener pruebas piloto en 2026. Pero sobre todo, promete múltiples mejoras en términos de conectividad. Nos referimos al 6G, la sexta generación de redes móviles que...
Nacho Palou Lucía y Marina: #MujeresHacker que se lanzan a la piscina del campus 42 Lucía, experta tech, y Marina, estudiante de 42, comparten su experiencia e intercambian opiniones tras pasar por las Piscina del campus 42 de Telefónica
Esther Cardenal AI of Things (VII): Mejores datos, mejores decisiones La diferencia entre ganar o perder un cliente es la capacidad de recopilar y analizar información para responder a las necesidades de los clientes
AI of Things WiFi 7 está aquí: te damos las claves de la nueva generación El WiFi 7, la nueva versión del estándar de conectividad, va a llevar la velocidad de Internet a un nivel completamente nuevo. En comparación con su predecesor, WiFi 6, esta nueva...