Tipos de datos de Python

En este tutorial, aprenderá sobre los diferentes tipos de datos que puede usar en Python.

Tipos de datos en Python

Cada valor en Python tiene un tipo de datos. Dado que todo es un objeto en la programación de Python, los tipos de datos son en realidad clases y las variables son instancia (objeto) de estas clases.

Hay varios tipos de datos en Python. Algunos de los tipos importantes se enumeran a continuación.

Números de Python

Los enteros, los números de punto flotante y los números complejos se incluyen en la categoría de números de Python. Se definen como int, floaty complexclases en Python.

Podemos usar la type()función para saber a qué clase pertenece una variable o un valor. De manera similar, la isinstance()función se usa para verificar si un objeto pertenece a una clase en particular.

 a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex)) 

Salida

5 es de tipo 2.0 es de tipo (1 + 2j) es un número complejo? Cierto

Los números enteros pueden tener cualquier longitud, solo está limitado por la memoria disponible.

Un número de coma flotante tiene una precisión de hasta 15 decimales. Los puntos enteros y flotantes están separados por puntos decimales. 1 es un número entero, 1.0 es un número de punto flotante.

Los números complejos se escriben en la forma, x + yjdonde x es la parte real e y es la parte imaginaria. Aquí hay unos ejemplos.

 >>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j) 

Observe que la floatvariable b se truncó.

Lista de Python

La lista es una secuencia ordenada de elementos. Es uno de los tipos de datos más utilizados en Python y es muy flexible. No es necesario que todos los elementos de una lista sean del mismo tipo.

Declarar una lista es bastante sencillo. Los elementos separados por comas se incluyen entre corchetes ( ).

 a = (1, 2.2, 'python') 

Podemos usar el operador de corte ( )para extraer un elemento o un rango de elementos de una lista. El índice comienza desde 0 en Python.

 a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:)) 

Salida

 a (2) = 15 a (0: 3) = (5, 10, 15) a (5 :) = (30, 35, 40) 

Las listas son mutables, es decir, el valor de los elementos de una lista puede modificarse.

 a = (1, 2, 3) a(2) = 4 print(a) 

Salida

 (1, 2, 4) 

Tupla de Python

Tupla es una secuencia ordenada de elementos igual que una lista. La única diferencia es que las tuplas son inmutables. Una vez creadas, las tuplas no se pueden modificar.

Las tuplas se utilizan para proteger los datos contra escritura y, por lo general, son más rápidas que las listas, ya que no pueden cambiar de forma dinámica.

Se define entre paréntesis ()donde los elementos están separados por comas.

 t = (5,'program', 1+3j) 

Podemos usar el operador de corte ()para extraer elementos, pero no podemos cambiar su valor.

 t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10 

Salida

 t (1) = programa t (0: 3) = (5, 'programa', (1 + 3j)) Traceback (última llamada más reciente): Archivo "test.py", línea 11, en t (0) = 10 TypeError: el objeto 'tuple' no admite la asignación de elementos 

Cadenas de Python

La cadena es una secuencia de caracteres Unicode. Podemos usar comillas simples o dobles para representar cadenas. Las cadenas de varias líneas se pueden denotar mediante comillas triples '''o """.

 s = "This is a string" print(s) s = '''A multiline string''' print(s) 

Salida

 Esta es una cadena Una cadena de varias líneas 

Al igual que una lista y una tupla, el operador de corte ( )se puede utilizar con cadenas. Las cadenas, sin embargo, son inmutables.

 s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d' 

Salida

 s (4) = os (6:11) = world Traceback (última llamada más reciente): Archivo "", línea 11, en TypeError: el objeto 'str' no admite la asignación de elementos 

Conjunto de Python

El conjunto es una colección desordenada de elementos únicos. El conjunto se define mediante valores separados por comas entre llaves ( ). Los artículos de un conjunto no están ordenados.

 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a)) 

Salida

 a = (1, 2, 3, 4, 5) 

Podemos realizar operaciones de conjuntos como unión, intersección en dos conjuntos. Los conjuntos tienen valores únicos. Eliminan duplicados.

 a = (1,2,2,3,3,3) print(a) 

Salida

 (1, 2, 3) 

Dado que los conjuntos son colecciones desordenadas, la indexación no tiene ningún significado. Por tanto, el operador de corte ()no funciona.

 >>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing 

Diccionario de Python

El diccionario es una colección desordenada de pares clave-valor.

Generalmente se usa cuando tenemos una gran cantidad de datos. Los diccionarios están optimizados para recuperar datos. Debemos conocer la clave para recuperar el valor.

En Python, los diccionarios se definen entre llaves ()y cada elemento es un par en el formulario key:value. La clave y el valor pueden ser de cualquier tipo.

 >>> d = (1:'value','key':2) >>> type(d) 

Usamos la clave para recuperar el valor respectivo. Pero no al revés.

 d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2)); 

Salida

 d (1) = valor d ('clave') = 2 Traceback (última llamada más reciente): Archivo "", línea 9, en KeyError: 2 

Conversión entre tipos de datos

Podemos convertir entre diferentes tipos de datos mediante el uso de diferentes funciones de conversión de tipo como int(), float(), str(), etc.

 >>> float(5) 5.0 

La conversión de float a int truncará el valor (lo acercará a cero).

 >>> int(10.6) 10 >>> int(-10.6) -10 

La conversión hacia y desde la cadena debe contener valores compatibles.

 >>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p' 

Incluso podemos convertir una secuencia en otra.

 >>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o') 

Para convertir a diccionario, cada elemento debe ser un par:

 >>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44) 

Articulos interesantes...