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