Python 3 - Tipos de variables

Las variables no son más que ubicaciones de memoria reservadas para almacenar valores. Significa que cuando creas una variable, reservas algo de espacio en la memoria.

Según el tipo de datos de una variable, el intérprete asigna memoria y decide qué se puede almacenar en la memoria reservada. Por lo tanto, al asignar diferentes tipos de datos a las variables, puede almacenar números enteros, decimales o caracteres en estas variables.

Asignar valores a variables

Las variables de Python no necesitan una declaración explícita para reservar espacio en la memoria. La declaración ocurre automáticamente cuando asigna un valor a una variable. El signo igual (=) se utiliza para asignar valores a las variables.

El operando a la izquierda del operador = es el nombre de la variable y el operando a la derecha del operador = es el valor almacenado en la variable. Por ejemplo

#!/usr/bin/python3

counter = 100          # An integer assignment
miles   = 1000.0       # A floating point
name    = "John"       # A string

print (counter)
print (miles)
print (name)

Aquí, 100, 1000.0 y "John" son los valores asignados a las variables de contador, millas y nombre, respectivamente. Esto produce el siguiente resultado:

100
1000.0
John

Asignación múltiple

Python le permite asignar un solo valor a varias variables simultáneamente.

Por ejemplo

a = b = c = 1

Aquí, se crea un objeto entero con el valor 1, y las tres variables se asignan a la misma ubicación de memoria. También puede asignar varios objetos a varias variables. Por ejemplo

a, b, c = 1, 2, "john"

Aquí, dos objetos enteros con valores 1 y 2 se asignan a las variables ayb respectivamente, y un objeto de cadena con el valor "john" se asigna a la variable c.

Tipos de datos estándar

Los datos almacenados en la memoria pueden ser de muchos tipos. Por ejemplo, la edad de una persona se almacena como un valor numérico y su dirección se almacena como caracteres alfanuméricos. Python tiene varios tipos de datos estándar que se utilizan para definir las operaciones posibles en ellos y el método de almacenamiento para cada uno de ellos.

Python tiene cinco tipos de datos estándar:

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Números de Python

Los tipos de datos numéricos almacenan valores numéricos. Los objetos numéricos se crean cuando les asigna un valor. Por ejemplo

var1 = 1
var2 = 10

También puede eliminar la referencia a un objeto numérico utilizando el deldeclaración. La sintaxis deldel declaración es -

del var1[,var2[,var3[....,varN]]]]

Puede eliminar un solo objeto o varios objetos utilizando el del declaración.

Por ejemplo

del var
del var_a, var_b

Python admite tres tipos numéricos diferentes:

  • int (enteros con signo)
  • float (valores reales de coma flotante)
  • complejo (números complejos)

Todos los enteros en Python3 se representan como enteros largos. Por lo tanto, no existe un tipo de número separado tan largo.

Ejemplos

Aquí hay algunos ejemplos de números:

En t flotador complejo
10 0.0 3,14j
100 15.20 45.j
-786 -21,9 9.322e-36j
080 32,3 + e18 .876j
-0490 -90. -.6545 + 0J
-0x260 -32.54e100 3e + 26J
0x69 70.2-E12 4.53e-7j

Un número complejo consiste en un par ordenado de números reales en coma flotante denotados por x + yj, donde xey son números reales y j es la unidad imaginaria.

Cadenas de Python

Las cadenas en Python se identifican como un conjunto contiguo de caracteres representados entre comillas. Python permite un par de comillas simples o dobles. Se pueden tomar subconjuntos de cadenas utilizando el operador de corte ([] y [:]) con índices que comienzan en 0 al principio de la cadena y van desde -1 hasta el final.

El signo más (+) es el operador de concatenación de cadenas y el asterisco (*) es el operador de repetición. Por ejemplo

#!/usr/bin/python3

str = 'Hello World!'

print (str)          # Prints complete string
print (str[0])       # Prints first character of the string
print (str[2:5])     # Prints characters starting from 3rd to 5th
print (str[2:])      # Prints string starting from 3rd character
print (str * 2)      # Prints string two times
print (str + "TEST") # Prints concatenated string

Esto producirá el siguiente resultado:

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

Listas de Python

Las listas son los tipos de datos compuestos más versátiles de Python. Una lista contiene elementos separados por comas y encerrados entre corchetes ([]). Hasta cierto punto, las listas son similares a las matrices en C. Una de las diferencias entre ellas es que todos los elementos que pertenecen a una lista pueden ser de diferentes tipos de datos.

Se puede acceder a los valores almacenados en una lista utilizando el operador de corte ([] y [:]) con índices que comienzan en 0 al principio de la lista y van hasta el final -1. El signo más (+) es el operador de concatenación de lista y el asterisco (*) es el operador de repetición. Por ejemplo

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)          # Prints complete list
print (list[0])       # Prints first element of the list
print (list[1:3])     # Prints elements starting from 2nd till 3rd 
print (list[2:])      # Prints elements starting from 3rd element
print (tinylist * 2)  # Prints list two times
print (list + tinylist) # Prints concatenated lists

Esto produce el siguiente resultado:

['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

Tuplas de Python

Una tupla es otro tipo de datos de secuencia que es similar a la lista. Una tupla consta de varios valores separados por comas. Sin embargo, a diferencia de las listas, las tuplas se incluyen entre paréntesis.

La principal diferencia entre listas y tuplas son: las listas se incluyen entre corchetes ([]) y sus elementos y tamaño se pueden cambiar, mientras que las tuplas están entre paréntesis (()) y no se pueden actualizar. Las tuplas se pueden considerar comoread-onlyliza. Por ejemplo

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)           # Prints complete tuple
print (tuple[0])        # Prints first element of the tuple
print (tuple[1:3])      # Prints elements starting from 2nd till 3rd 
print (tuple[2:])       # Prints elements starting from 3rd element
print (tinytuple * 2)   # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple

Esto produce el siguiente resultado:

('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

El siguiente código no es válido con tupla, porque intentamos actualizar una tupla, lo cual no está permitido. Un caso similar es posible con listas:

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

Diccionario de Python

Los diccionarios de Python son una especie de tabla hash. Funcionan como matrices asociativas o hashes que se encuentran en Perl y consisten en pares clave-valor. Una clave de diccionario puede ser casi cualquier tipo de Python, pero generalmente son números o cadenas. Los valores, por otro lado, pueden ser cualquier objeto Python arbitrario.

Los diccionarios se encierran entre llaves ({}) y los valores se pueden asignar y acceder a ellos usando llaves ([]). Por ejemplo

#!/usr/bin/python3

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values

Esto produce el siguiente resultado:

This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])

Los diccionarios no tienen concepto de orden entre los elementos. Es incorrecto decir que los elementos están "fuera de servicio"; simplemente están desordenados.

Conversión de tipo de datos

A veces, es posible que deba realizar conversiones entre los tipos integrados. Para convertir entre tipos, simplemente use los nombres de los tipos como una función.

Hay varias funciones integradas para realizar la conversión de un tipo de datos a otro. Estas funciones devuelven un nuevo objeto que representa el valor convertido.

No Señor. Función descriptiva
1

int(x [,base])

Convierte x en un número entero. La base especifica la base si x es una cadena.

2

float(x)

Convierte x en un número de coma flotante.

3

complex(real [,imag])

Crea un número complejo.

4

str(x)

Convierte el objeto x en una representación de cadena.

5

repr(x)

Convierte el objeto x en una cadena de expresión.

6

eval(str)

Evalúa una cadena y devuelve un objeto.

7

tuple(s)

Convierte sa una tupla.

8

list(s)

Convierte s en una lista.

9

set(s)

Convierte s en un conjunto.

10

dict(d)

Crea un diccionario. d debe ser una secuencia de tuplas (clave, valor).

11

frozenset(s)

Convierte s en un conjunto congelado.

12

chr(x)

Convierte un número entero en un carácter.

13

unichr(x)

Convierte un número entero en un carácter Unicode.

14

ord(x)

Convierte un solo carácter en su valor entero.

15

hex(x)

Convierte un número entero en una cadena hexadecimal.

dieciséis

oct(x)

Convierte un número entero en una cadena octal.