Métodos¶
¿Que es un método?¶
Un método es una función especial asociada a un tipo de dato. Por ejemplo,
la función print() no está asociada a un tipo particular de dato, pero
la función upper(), que devuelve un texto convertido en mayúsculas, solo
se puede ejecutar con datos tipo str.
Veamos como funciona:
>>> texto = "Feliz Año"
>>> mayusculas = texto.upper()
>>> mayusculas
'FELIZ AÑO'
A este tipo de operaciones, asociadas a un objeto, se les llama "métodos". Se escriben anteponiendo el objeto, y un punto entre el mismo y el nombre del método:
mayusculas = texto.upper()
en lugar de:
mayusculas = uper(texto)
Comprobamos la diferencia entre invocar una función y un método:
>>> texto = "Feliz Año"
>>> len(texto)
9
>>> texto.upper()
'FELIZ AÑO'
¿Por que len() es una función y upper() un método? Esto se debe a que
len() puede usarse con otros tipos, en particular con colecciones de
varios elementos, que veremos más adelante. La función len() devuelve
el número de elementos. Por el contrario, todo método está asociado a
un tipo concreto de objeto.
Un ejemplo¶
Volvamos a nuestro ejemplo de la sumadora. El usuario puede introducir un número con decimales:
| Sumadora.py | |
|---|---|
1 2 3 4 5 | |
Pero se supone que va a utilizar el punto decimal. ¿Que pasa si utiliza la coma?
Número 1: 1234,56
Antes de hacer la conversión a float, podemos reemplazar las comas por puntos
con la ayuda del método replace():
| Sumadora.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 | |
El método replace() está asociado a una cadena de texto, que será transformada
generando un nuevo texto (las cadenas son inmutables). Se le pasan dos cadenas
como argumento, el texto a reemplazar (la coma) y el valor de sustitución
(el punto).