Python: tipos de variables

Las variables no son más que ubicaciones de memoria reservadas para almacenar valores. Esto significa que cuando crea una variable, reserva 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/python

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 "juan" 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 la instrucción del. La sintaxis de la declaración del es:

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

Puede eliminar un solo objeto o varios objetos mediante la instrucción del. Por ejemplo

del var
del var_a, var_b

Python admite cuatro tipos numéricos diferentes:

  • int (enteros con signo)
  • long (enteros largos, también se pueden representar en octal y hexadecimal)
  • float (valores reales de coma flotante)
  • complejo (números complejos)

Ejemplos

Aquí hay algunos ejemplos de números:

En t largo flotador complejo
10 51924361L 0.0 3,14j
100 -0x19323L 15.20 45.j
-786 0122L -21,9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32,3 + e18 .876j
-0490 535633629843L -90. -.6545 + 0J
-0x260 -052318172735L -32.54e100 3e + 26J
0x69 -4721885298529L 70.2-E12 4.53e-7j
  • Python le permite usar una l minúscula con long, pero se recomienda que use solo una L mayúscula para evitar confusión con el número 1. Python muestra enteros largos con una L mayúscula.

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

Cadenas de Python

Las cadenas en Python se identifican como un conjunto contiguo de caracteres representados entre comillas. Python permite pares de comillas simples o dobles. Se pueden tomar subconjuntos de cadenas usando el operador de corte ([] y [:]) con índices que comienzan en 0 al principio de la cadena y van desde -1 al 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/python

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 diferencia 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/python

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.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 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.

Las principales diferencias entre listas y tuplas son: Las listas están 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/python

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

print tuple               # Prints the complete tuple
print tuple[0]            # Prints first element of the tuple
print tuple[1:3]          # Prints elements of the tuple starting from 2nd till 3rd 
print tuple[2:]           # Prints elements of the tuple starting from 3rd element
print tinytuple * 2       # Prints the contents of the tuple twice
print tuple + tinytuple   # Prints concatenated tuples

Esto produce el siguiente resultado:

('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 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/python

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/python

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
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

Los diccionarios no tienen concepto de orden entre 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 el nombre del tipo como 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. base especifica la base si x es una cadena.

2

long(x [,base] )

Convierte x en un entero largo. base especifica la base si x es una cadena.

3

float(x)

Convierte x en un número de coma flotante.

4

complex(real [,imag])

Crea un número complejo.

5

str(x)

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

6

repr(x)

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

7

eval(str)

Evalúa una cadena y devuelve un objeto.

8

tuple(s)

Convierte sa una tupla.

9

list(s)

Convierte s en una lista.

10

set(s)

Convierte s en un conjunto.

11

dict(d)

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

12

frozenset(s)

Convierte s en un conjunto congelado.

13

chr(x)

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

14

unichr(x)

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

15

ord(x)

Convierte un solo carácter en su valor entero.

dieciséis

hex(x)

Convierte un número entero en una cadena hexadecimal.

17

oct(x)

Convierte un número entero en una cadena octal.