Variables en Python

Ú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:

&lt;class 'int'>
&lt;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:

OperadorOperación aritmética
X + YSuma
X – YResta
X * YProducto
X / YDivisión
X // YDivisión entera
X % YResto
X ** YX elevado a Y
X +=1Incremento
Operadores aritméticos

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í.