Última actualización: septiembre 2024
Las variables en Python pueden contener distintos tipos de datos básicos:
- Cadenas de texto
- Booleanos (True o False)
- Numéricos: enteros, decimales y complejos
- Colecciones: listas, tuplas, conjuntos, diccionarios.
Como veremos más adelante algunos de estos tipos de variables se pueden modificar (tipos mutables) y otros no se pueden modificar (inmutable)
Al añadir módulos, aparecen nuevos tipos como fechas u otros tipos de colecciones o estructuras de datos El objetivo es emplear el tipo de dato o estructura que mejor se ajuste a los datos con los que vamos a trabajar.
Creación de variables
La creación de variables en Python es sencilla, directamente asignamos un valor a la variable e internamente Python le asigna el tipo (entero, cadena, lista..). Es decir, no tenemos que declarar e inicializar las variables, sino que directamente las inicializamos asignándoles un valor y Python infiere el tipo de la variable en función del valor asignado, es lo que se conoce como tipado dinámico.
Internamente las variables son referencias a los objetos. Una variable es una especie de etiqueta para referirnos al objeto. En el siguiente ejemplo, creamos dos variables: curso (cadena de texto) y numero_horas (entero).
curso = “Python”
numero_horas = 20
Es posible asignar asignación múltiple:
a, b = 6, 8
c = d = e = 7
Para conocer el tipo de una variable, empleamos la función type:
curso ="Python"
tipo=type(curso)
print(tipo)
Resultado: <class ‘str’>
Los nombres de las variables deben ser secuencias de letras y números. La secuencia debe empezar por letras. También es válido el carácter: “_”.
Ahora que sabemos como conocer el tipo de una variable, podemos experimentar el tipado dinámico. En el ejemplo siguiente, a una misma variable, se le asigna primero un valor numérico y luego un valor de texto, y vemos como Python cambia el tipo de la variable.
variable =99
print(type(variable))
variable ="Python"
print(type(variable))
Resultado:
<class 'int'>
<class 'str'>
Variables numéricas
Las variables de tipo numéricas almacenan números y pueden ser de tres tipos:
int: valores enteros.
float: valores con decimales (separador punto).
complex: números complejos.
edad = 35
margen = 22.75
Operaciones combinando números enteros y flotantes:
Dividiendo siempre obtendremos un número flotante, aunque numerador y denominador sean enteros y el resultado sea exacto (resto 0)
Python por defecto devolverá un flotante para no perder precisión cuando operamos con un entero y un flotante.
numero_1= 77
numero_2=10
print(numero_1/numero_2)
Resultado: 7.7
Guiones en números:
Trabajando con números largos podemos agrupar los dígitos utilizando guiones bajos para leerlos mejor:
numeroWebs=3_876_345_765
print("numero de webs en el mundo: ",numeroWebs)
Resultado:
numero de webs en el mundo: 3876345765
Operadores aritméticos
Los operadores aritméticos los emplearemos para realizar operaciones con variables numéricas. El siguiente cuadro muestra una lista de los principales operadores aritméticos y la operación que implementan:
| Operador | Operación aritmética |
|---|---|
| X + Y | Suma |
| X – Y | Resta |
| X * Y | Producto |
| X / Y | División |
| X // Y | División entera |
| X % Y | Resto |
| X ** Y | X elevado a Y |
| X +=1 | Incremento |
Ejemplos de operaciones:
numero1=2
numero2=3
print("Numero 1 : ",numero1)
print("Numero 2 : ",numero2)
print("La suma del Numero 1 y del Numero 2 es: ",numero1+numero2)
print("división del Numero 1 entre el Numero 2 es: ",numero1/numero2)
print("Numero 1 elevado al Numero 2 es: ",numero1**numero2)
print("La división del Numero 1 entre el Numero 2 tiene un resto de: ",numero1%numero2)
Resultado:
Numero 1 : 2
Numero 2 : 3
La suma del Numero 1 y del Numero 2 es: 5
división del Numero 1 entre el Numero 2 es: 0.6666666666666666
Numero 1 elevado al Numero 2 es: 8
La división del Numero 1 entre el Numero 2 tiene un resto de: 2
Variables de tipo cadena
Las variables de tipo cadena o string guardan cadenas de caracteres y se representan con comillas simples o dobles.
ciudad1 = ‘Madrid’
ciudad2 = “Valencia”
Función len( ): devuelve la longitud de la cadena que se le pasa como parámetro.
ciudad="Madrid"
longitud=len(ciudad)
print(longitud)
Resultado: 6
Concatenar cadenas: sencillamente utilizamos el signo “+”, como si estuviéramos sumando números.
ciudad1="Madrid"
ciudad2="Cadiz"
print(ciudad1+" - "+ciudad2)
Resultado:
Madrid – Cadiz
Acceder a los caracteres de una cadena: Las cadenas se pueden acceder elemento a elemento mediante índices. Obteniendo caracteres sueltos o subcadenas de la cadena principal:
ciudad="Cadiz"
print(ciudad[0])
print(ciudad[1:3])
Resultado:
C
ad
La primera posición de la cadena, correspondiente al primer carácter, se corresponde con el índice 0.
Cuando marcamos un rango, el número superior del rango no se incluye. En el ejemplo, el rango [1:3], incluye los caracteres con índices 1 y 2.
Las cadenas son inmutables no puedo modificar un elemento. El código:
ciudad="Cadiz"
ciudad[1]="w"
Arroja el error:
TypeError: 'str' object does not support item assignment
Las variables de tipo cadena tienen una serie de métodos asociados para realizar distintas operaciones (dividir, buscar, reemplazar…).Cada clase de Python tiene métodos asociados y las cadenas son una clase más.
Algunos de los métodos más utilizados son:
split([sep]): Divide una cadena en subcadenas utilizando el carácter separador indicado por el parámetro sep
saludo="Buenos-dias-hoy"
lista=saludo.split(sep="-")
for trozo in lista:
print(trozo)
Resultado:
Buenos
dias
hoy
lower( ) y upper( ): convierte los caracteres de la cadena a minúsculas o mayúsculas respectivamente:
saludo="Buenos dias"
print(saludo.lower())
print(saludo.upper())
Resultado:
buenos dias
BUENOS DIAS
cad.rstrip( ): Elimina los caracteres en blanco al final de la cadena
cad.lstrip( ): Elimina los caracteres en blanco al comienzo de la cadena
cad.strip( ): Elimina los caracteres en blanco al comienzo y al final de la cadena
saludo=" Buenos dias "
print("--",saludo.rstrip(),"--")
print("--",saludo.lstrip(),"--")
print("--",saludo.strip(),"--")
Resultado:
-- Buenos dias --
-- Buenos dias --
-- Buenos dias --
cad.title( ): Pone la inicial de cada palabra a mayúscula
saludo="buenos dias "
print(saludo.title())
Resultado:
Buenos Dias
Cadenas de texto formateadas: Son las conocidas como cadenas f, ya que se coloca una f antes de las comillas de comienzo de la cadena y Python reemplaza cualquier variable entre llaves por su valor.
nombre="Pedro"
apellidos="Garcia Martinez"
saludo=f"Buenos días, {nombre} {apellidos}"
print(saludo)
Resultado:
Buenos días, Pedro Garcia Martinez
Caracteres de escape: Fundamentalmente emplearemos dos:
\n: nueva línea
\t: tabulador
texto="Asistentes:\n\tPedro\n\tMaria\n\tJuan"
print(texto)
Resultado:
Asistentes:
Pedro
Maria
Juan
Variables de tipo booleano
Las variables de tipo booleano o tipo de dato lógico representan valores de lógica binaria, esto es 2 valores, que normalmente representan falso (False) o verdadero (True).
Por ejemplo, un booleano puede guardar el resultado de una comparación:
a=7
b=3
comparacion=(a==b)
print(comparacion)
Resultado: False
Conversión de tipos
Hemos visto diferentes tipos de variables entre las que es frecuente tener que realizar conversiones de tipo para pasar un valor almacenado en un tipo de variable a otro tipo de variable. Las funciones que realizan estas conversiones tienen el mismo nombre que el tipo de variable de destino. Por ejemplo si pasamos un valor a cadena (str) la función es str().
numero= 77
print(f"{numero} es de tipo {type(numero)}")
numero= str(numero)
print(f"{numero} es de tipo {type(numero)}")
numero=int(numero)
print(f"{numero} es de tipo {type(numero)}")
numero=float(numero)
print(f"{numero} es de tipo {type(numero)}")
Resultado:
77 es de tipo <class 'int'>
77 es de tipo <class 'str'>
77 es de tipo <class 'int'>
77.0 es de tipo <class 'float'>
Comentarios
Para realizar comentarios en Python tenemos dos opciones básicas:
- Comentario de una línea, para el que emplearemos el carácter almohadilla.
- Comentario para un bloque, donde emplearemos tres comillas al comienzo del bloque y otras tres al final.
#linea de comentario
"""
primera linea del bloque de comentarios
este bloque tiene tres lineas de comentarios
ultima linea del bloque
"""
NOTA:
Este post es parte de la colección “Python”. Puedes ver el índice de esta colección aquí.



