STRINGS

Utilizaré un intérprete en línea en este enlace, gratis y desde donde se puede comprobar cuanto refleje yo:

   https://www.python.org/shell/

ó

https://repl.it/languages/python3 

Un lenguaje de programación cualquiera solo trabaja con información, y lo único que sabe hacer es sobre aquello sobre lo que tenga información, así que todo hay que verlo desde ese punto de vista, pues todo gira a ello, a base de funciones, pedir datos por pantalla, mostrar datos, imprimir algo, etc.

Bueno, lo primero que hay que saber es que Python puede manejar una serie de tipos de datos, éstos son:

  • Strings
  • Numéricos:
    •     Decimales o flotantes
    •     hexadecimales
    •     Enteros
  • Caracteres individuales
  • booleanos
  • Listas
  • Diccionarios
  • None
Bueno, vamos a ver cada uno de ellos.

STRINGS

Comúnmente llamados cadenas de caracteres, y son toda cadena de caracteres que se reúna bajo una misma entidad. Esta entidad suele ser una variable, por ejemplo:

a = 'Hola'

pero también podría ser una cadena de texto que pregunta, por ejemplo:

input('¿Cómo te llamas?')

Por defecto, si no se declara como de algún tipo concreto siempre será string.
Se puede saber de qué tipo es una variable mediante la siguiente orden:

type(variable)

así que si ponemos en un terminal


print(type('Hola'))

o

print(type(a))

Nos dará la salida

<class 'str'>

Nos dice que la variable a y el texto Hola pertenecen a la clase str que es srting.

print() es la orden que sirve para mostrar por pantalla lo que se le ponga entre sus paréntesis pero no significa nada más que eso, sólo muestra algo, lo que está entre sus paréntesis es un parámetro, que puede ser texto y tendrá que ir encerrado entre comillas simples o dobles, es indiferente, o el valor de algo, entonces irá como convenga ir. Y type() es una función que devuelve su valor dentro de print.

a = 'Hola'
print(a)
print('hOla')
print("HolA")
devuelve:

Hola
hOla
HolA

Como string o cadena de texto que es, puede constar de varias letras o valores alfanuméricos, y se empiezan a contar de izquierda a derecha y desde el 0 en adelante.

La orden para saber cuántos caracteres conforma un string es len(cadena de caracteres)

Si escribimos:

a = ' EL cielo es azul'
longitud = len(a)
print(a)

y nos dará:

16

Pero podemos explorar la cadena mediante la posición del carácter, así:

print(a[5])

dará

e

pero podemos pedirle un segmento concreto:

print(a[0:4])

que dará:

El c

Pero también se pueden sumar cadenas:

a = 'El cielo es azul'
b = 'aquí'
suma = a + b
print(suma)

que dará:

El cielo es azulaquí

Incluso podemos hacer que se repita varias veces una cadena o parte de ella, e incluso de variables distintas:

print(a[3]*3 + b[1]*10)

que daría.

cccqqqqqqqqqq

Se puede acceder a cada carácter tanto desde el inicio como desde el final, y ésto se hace partiendo desde -1, así que pepe sería así:

a = "peca"

print(a[0])   --> daría p
print(a[-1])  --> daría a
print(a[-2])  --> daría c
print(a[1])   --> daría e

Observa que cuando se empieza desde el final no es desde 0.

Podemos formatear un poco la salida que nos mostrará la pantalla mediante unos formateadores, como por ejemplo:

\n para hacer un salto de línea

si ponemos:

print('Elije una opción:\1.- Nombre\n2.- Apellidos')

nos dará la salida:

Elije una opción:
1.- Nombre
2.- Apellido

Como vemos, con \n declaramos un salto de línea y no tenemos que escribir una línea de código por cada línea que queramos que aparezca. Es cómodo. Tengamos en cuenta que esto es sólo texto que aparece en pantalla y no está asociado a nada, ni variable ni nada.

Para tomar datos del teclado se utiliza una función apuntada anteriormente que es input()

input() viene a decir que lo que metamos por teclado lo aceptará como texto

input('Escribe tu nombre')

te mostrará ese texto en pantalla y se espera a que se introduzca algo y se pulse enter

si escribes aaa y das a enter lo toma y ya está y como no está asociado a nada lo que tu escribas, se perderá.

pero si lo asociamos a una variable, la cosa cambia porque ya la puede almacenar.

si escribimos:

nombre = input('escribe tu nombre de pila :')
print(nombre)

dará:

el nombre que le metiéramos por teclado.
si ponemos:

apellido = input('Ahora escribe el apellido :')
print(f'Tu nombre es {nombre} y tu apellido es {apellido}')

vemos que la salida será ese texto pero con el nombre y el apellido que tú metieras.

Al añadir la f estamos formateando la salida, y con las {} metemos el nombre de la variable que queramos. Es muy fácil así dar formato a los mensajes que aparecen por pantalla.

Para utilizar cualquier variable como texto hay que usar de str(variable)

a = 1 --> Esto sería un entero
b = str(a) --> se convierte en str

print(f"La variable a = {a} y es del tipo {type(a)} --> Daría La variable 1 es del tipo <class 'int'>
print(f"La variable a = {b} y es del tipo {type(b)} --> Daría La variable 1 es del tipo <class 'str'>