Python tiene una serie de tipos de datos incorporados para representar números y cadenas de caracteres. Para crear instancias de los tipos de datos, comúnmente usarás valores que también son llamados literales en Python.
Los valores o literales más comunes son los valores numéricos. También encontrarás valores para definir cadenas de caracteres que te sirven para representar texto.
Valores numéricos
Los números son una parte fundamental de cualquier programa de computadoras. En la mayoría de los lenguajes de programación, los valores numéricos son representados de manera muy similar a la que se emplea en las matemáticas.
Números enteros
Para definir valores enteros, puedes emplear números positivos y negativos tal y como los usarías en tu clase de matemáticas:
>>> 0 # Cero como un entero
0
>>> 42 # Un entero positivo
42
>>> -100 # Un entero negativo
-100
También puedes añadir un guión bajo como separador de miles en números de más de tres cifras:
>>> 1000000 # Sin separador de miles en el literal
1000000
>>> 1_000_000 # Con separador de miles en el literal
1000000
Esta forma de escribir números enteros mejora significativamente la legibilidad del código.
Números decimales
Para crear valores de coma flotante o decimales, debes añadir un punto (.
) luego de la parte entera y finalmente la fracción decimal:
>>> 3.14 # Un decimal positivo
3.14
>>> -0.001 # Un decimal negativo
-0.001
>>> 0.0 # Cero como número decimal
0.0
>>> 1.23e3 # Equivalente a 1.23 * 10^3
1230.0
>>> 5.67E-2 # Equivalente a 5.67 * 10^-2
0.0567
>>> .5 # Sin cero a la izquierda del punto
0.5
>>> 10. # Sin fracción decimal specificada
10.0
>>> 1_000_000.02 # Con separador de miles en el literal
1000000.02 # Sin separador de miles en la salida
Dependiendo del contexto, puedes escribir los números decimales de diferentes maneras, que son muy similares a como los escribes en matemáticas.
Sin embargo, la notación científica es un poco diferente. Para expresar un número en esta notación, debes usar la letra e
o E
seguida del exponente.
Números complejos
Finalmente, tienes los valores de números complejos:
>>> 2 + 3j
(2+3j)
>>> 5j
5j
>>> 2.5 + 7.8j
(2.5+7.8j)
>>> 3j + 6
(6+3j)
>>> 2 - 3j
(2-3j)
Los números complejos tienen una parte real y otra imaginaria. En notación matemática, generalmente se emplea la letra i
para la parte imaginaria, pero en Python se usa la j
.
Valores de cadena de caracteres
Cuando necesitas trabajar con cadenas de caracteres o texto, puedes emplear valores o literales que generalmente se forman con el texto entre comillas.
Literales de cadena
En Python, puedes usar diferentes tipos de comillas para definir literales de cadenas de caracteres:
>>> 'Texto entre comillas simples'
'Texto entre comillas simples'
>>> "Texto entre comillas dobles"
'Texto entre comillas dobles'
>>> '''Texto entre comillas simples triplicadas
... que ocupa varias líneas físicas'''
'Texto entre comillas simples triplicadas\nque ocupa varias líneas físicas'
>>> """Texto entre comillas dobles triplicadas
... que ocupa varias líneas físicas"""
'Texto entre comillas dobles triplicadas\nque ocupa varias líneas físicas'
Para crear cadenas de texto que ocupen una única línea física, puedes emplear comillas simples o dobles. Para crear cadenas de texto que ocupen múltiples líneas, emplea comillas simples o dobles triplicadas.
Ahora bien, ¿qué puedes hacer si necesitas incluir los caracteres de comillas en una cadena de texto? En este caso, puedes alternar las comillas:
>>> 'Alterna "comillas" para incluirlas en el texto'
'Alterna "comillas" para incluirlas en el texto'
En este caso, usaste las comillas simples para delimitar la cadena y así poder incluir las comillas dobles en el texto.
Otra forma de hacerlo es escapar las comillas con una barra invertida (\
) como en el siguiente ejemplo:
>>> "Escapa las \"comillas\" con un backslash"
'Escapa las "comillas" con un backslash'
Python tiene varias otras secuencias de escape que puedes emplear en tus cadenas de caracteres. Estas secuencias implican el uso de la barra invertida y son útiles cuando necesitas incluir caracteres con significado especial en tus cadenas.
Literales de cadena sin formato
Los literales de cadenas pueden tener como prefijo la letra r
o R
. Estos son literales de cadena sin formato (raw strings) y tratan las barras invertidas como caracteres literales, por lo que son muy útiles y comunes en expresiones regulares.
Por ejemplo, la expresión regular siguiente te permite identificar direcciones de correo electrónico:
>>> r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b"
'\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b'
Cuando necesitas incluir barras invertidas y otros caracteres que pueden tener significados especiales en tus cadenas, puedes usar cadenas sin formato.
Finalmente, están las f-strings o literales formateados. Estos te permiten interpolar y formatear valores en tus cadenas empleando campos de reemplazo delimitados por llaves ({}
) en el literal:
>>> balance = 5425.9292
>>> f"Balance general: ${balance:,.2f}"
'Balance general: $5,425.93'
El campo de reemplazo en esta f-string contiene una variable llamada balance
. Esta variable provee el valor que necesitamos interpolar en la cadena. Luego tenemos el especificador de formato que comienza con el caracter dos puntos (:
). En este caso, formateas el valor como un valor decimal con dos lugares después del punto y empleando una coma (,
) como separador de miles.
Conclusiones
Ahora sabes lo básico sobre los valores o literales en Python, incluidos valores numéricos como los números enteros, decimales y complejos. También aprendiste sobre los valores de cadenas de caracteres.
Entender los valores y cómo crearlos es fundamental para cualquier desarrollador de Python, pues estos son la base sobre la que se construyen expresiones y sentencias más elaboradas.
Ahora que dominas estos conceptos, tienes las puertas abiertas para explorar temas más avanzados en Python.