Formando a profesionales desde 1994
info@academiares.com

Formulario de contacto

Por favor, rellena los datos y nos podremos en contacto contigo lo antes posible.

 



I - Instalación y primer script en Python

Python IV – Tipos de datos: Métodos String I
18/11/2019 admin

Python IV – Tipos de datos: Métodos Strings I

Ya estamos de nuevo en el curso gratuito de programación en Python de Academia Ares.

Hasta ahora hemos estado viendo como integrar un entorno de trabajo con Python en nuestro ordenador Windows, macOS o Linux. También vimos las clase pasada lo que son las strings y hoy vamos a ver los métodos de las strings que nos ayudarán a explorar las posibilidades que nos ofrecen este tipo de dato.

Antes de empezar con el meollo hemos de realizar un escueto y necesario parón.

Todo programador, sea aprendiz o no, necesita recurrir a la guía del lenguaje que desea aprender, que en nuestro caso, es la documentación de Python.

Echemos un vistazo.

Si vamos a nuestro buscador de preferencia y buscamos Python entonces nos saldrán varios resultados, entre ellos, debemos seleccionar Documentation.

(Si no ves este apartado es tan sencillo como meterse en la página oficial y buscar la pestaña Documentation y clickar)

Una vez en la página vamos a deslizarnos hacia abajo hasta que leamos el título Python 3.x Resources, y en esta categoría seleccionamos Library Reference. Estamos accediendo al índice de la documentación de Python 3.8.0.

Python 3.8.x Library Reference

Una vez dentro veremos un extenso índice. Yo os recomiendo que le déis un vistazo a toda la documentación, por encima.

Dado que ahora estamos viendo las strings, vamos a:

Built-in Types > Text Sequence Type –str

Y nos desplazamos hasta Strings Methods.

Strings Methods

Todo lo que vamos a ver durante el curso referente a las Strings está plasmado en esta documentación, por tanto, si en algún momento deseas profundizar, explorar, contrastar o buscar, este es el lugar. Una vez aclarado el origen de la bibliografía, vamos allá.

Si vamos a la RAE y buscamos método nos dirá:

Modo de decir o hacer con orden.

Nada más acertado a la hora de definir lo que es un método string.

Los métodos string nos permiten mutar y transformar las strings según nuestras necesidades sin mucho esfuerzo y si no los tuvieramos tendríamos que escribir muchas lineas de código y poco sentido tendría utilizar este tipo de dato.

Lo vais a ver con mucha claridad con este ejemplo:

Como véis, el método lower() ha transformado mi string a la misma string pero
con los carácteres en minúscula, ¿se va viendo lo que es un método string?

Perfecto, seguimos.

Hay bastantes métodos string como habréis visto ya en la documentación oficial
y veremos muchos de ellos pero no todos, luego ya cada uno podrá buscarse la
información que necesite en la documentación y aquí trataremos los más usados.

Abrimos VSCode en la carpeta 1-strings que creamos anteriormente, y activamos nuestro entorno virtual cursopython como ya sabemos. Abrimos una terminal, si no estaba abierta ya, en nuestra carpeta 1-strings y creamos un archivo llamado: methods-capitalize.py desde la terminal. Para ello, escribimos en la terminal:


type nul > nombredelarchivo # En Windows

touch nombredelarchivo # En Linux y macOs

Y listo! Habremos creado un archivo llamado methods-capitalize.py desde la terminal en la carpeta 1-strings. Ahora abrimos ese mismo archivo con VSCode:

 

Ahora añadimos una sección comentada que estará en todos nuestros archivos .py que escribamos sobre métodos al comienzo de estos:

  • Método a discutir
  • Definición
  • Puesta en práctica

~ str.capitalize():

Para aplicar los métodos a las strings debemos escribir la variable donde es contenida la string con un punto y el método más paréntesis.

Vamos a realizar unas prácticas con este método.

Escribamos una variable de nombre cualquiera que contenga una string alterada:

Apliquemos el método capitalize() a ver si nos puede sacar del apuro e imprimamos las dos variables:

Guardemos el documento y ejecutemos el script Python como ya sabemos hacer.

Efectivamente, tenemos la misma string pero ahora un poco más legible.

No hace falta guardar necesariamente la transformación de la string en otra variable. Por ejemplo, puede aplicarse el método en caliente, dentro de la función print(), evitando escribir de más, aunque siempre dependerá del uso que necesitemos darle, en principio escribamos del modo más eficiente posible asi que dejémoslo de este modo y trabajemos así a partir de ahora:

Otra forma de usar el método str.capitalize() es aplicarlo sntes de que el valor se guarde en una variable. Para ello necesitamoos conocer la función input() que nos permitirá interactuar con nuestro script.

Veamos:

Si ahora guardáis el documento y ejecutáis el script veréis en consola que os está pidiendo introducir una frase. Bien, eso es la función input(). Noss permite interactuar con nuestro programa y sólo hace falta poner dentro de los paréntesis de la función la string que queremos que se nos muestre en la terminal.

Escribe una frase, o varias, mal escrita y pulsa ENTER y veamos que pasa.

He aquí la magia del método str.capitalize(), o mejor dicho, de los métodos string; estamos transformando los datos antes de que llegue al programa y se guarde en una variable.

Como os imaginaréis, las aplicaciones de este método pueden ser realmente diversas.

Antes de pasar al siguiente método vamos a aprender rápidamente a organizar mejor la salida de nuestros scripts y para ello debemos utilizar un par de trucos:

  • Introduciendo n al principio o al final de una string conseguimos sacar por la tarminal una linea vacía, por ejemplo:

¿Véis? Así de fácil, pero no nos quedemos ahí.

  • Introduciendo t damos espacio de tabulador:

Con la función print() y los usos de n y t podemos mostrar mucho más ordenadamente nuestro script en la terminal. Elegir hacerlo o no ya depende de cada uno.

~ str.title()

Vamos a la terminal y en la carpeta 1-strings creamos un archivo llamado methods-title.py. Abrimos el archivo en VSCode y añadimos la cabecera.

Escribamos de nuevo una variable, una string contenida en esta, llamemos a la función print() con el método str.title() y veamos qué pasa:

Guardemos el documento. Ejecutemos el archivo y ahí lo tenemos; ahora nuestra frase se ha transformado.

Igualmente podemos usar el método dentro de la función input().

Podemos tamién mezclar métodos y para ello debemos aprender una cualidad de la función print(): podemos concatenar tipos de datos en la impresión utilizando el operador +. Por ejemplo:

Tengamos en cuenta una cosa a la hora de concatenar datos en una función print().

  1. Es literal, por tanto, si no hay un espacio al final de la primera string o al principio de la segunda entonces va a imprimir las dos una seguida de la otra.

Si deseamos dejarlo limpio, bonito y legible, además de útil, necesitamos tener en cuenta esto.

En el ejemplo anterior he añadido un espacio al final de la str_1 y además una apertura de interrogación, y ¿por qué? Porque si aplicamos el método capitalize() sobre la string ¿desea la habitación de siempre? entonces el método tomará como primer carácter el signo de interrogación y por tanto se imprimirá como si el método no se aplicara, pruébalo tu mismo.

Pero, esto suena muy enrevesado, ¿no hay otra forma de hacerlo?

En parte si, en parte no. Lo que podemos hacer por ejemplo es sumar en la función print() aquellos carácteres que nos resulten conflictivos por su naturaleza y la sintaxis de nuestro idioma, veamos:

Aquí estamos añadiendo carácteres a la función print() como componentes entre comillas simples, strings, que son sumados por el operador +.

  • 1er componente: str_1.title()
  • 2o componente: ‘ ‘ (El espacio entre la primera frase y la segunda)
  • 3er componente: ‘¿‘ (Signo de interrogación de apertura)
  • 4o componente: str_2.capitalize()
  • 5o componente: ‘?

Por cierto, que alguien se habrá dado cuenta. El uso de variables es limitado al scope, o alcance del script. Todo esto ya lo veremos en el apartado de funciones pero a grandes rasgos una variable sólo existe en el alcance de su función, clase o módulo.

Las variables pueden ser locales o globales. En nuestro caso, las variables str_1 y str_2 son variables locales y existen únicamente en el documento methods-title.py. Por tanto, podemos usar los mismos nombres tanto en un documento como en otro ya que no estamos aplicando aún las importaciones de módulos, paquetes, clases y/o funciones, que sí requieren de una explicación más detallada del concepto de scope, alcance y localidad.

Ya hemos indagado en los métodos capitalize() y title().

Durante las próximas clases veremos más métodos que podemos utilizar con las strings.

Si alguien desea ampliar conocimientos sobre el tema, le dejo bibliografía donde poder consultar:

Hasta la próxima!

EJERCICIOS:

  1. Transformar 10 strings mediante el uso en caliente de los métodos capitalize() y title().
  2. Corregir 5 entradas de datos con la variable input() a través del uso de los métodos capitalize() y title().
  3. Explorar las posibilidades de los métodos upper() y lower().
  4. Arreglar todos los anteriores ejercicios con la introducción de n y t para mejorar la legibilidad de la salida en terminal.
  • Python IV – Tipos de datos: Métodos String I

    No Comments

    Leer más
  • Python III – Tipos de datos: Strings

    No Comments

    Leer más
  • Enfermedad rara mortal y falso positivo

    No Comments

    Leer más
  • Python II – Editor de texto y Visual Studio Code

    No Comments

    Leer más
  • ¿Aprobar un examen tipo test de 10 preguntas?

    1 Comentario

    Leer más

Comments (0)

Dejar una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*