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