Python Tipos de variables

Las variables son valores almacenados en la memoria, lo que significa que al crear una variable se abre un espacio en la memoria.

Según el tipo de dato de la variable, el intérprete asigna memoria específica y determina qué datos pueden almacenarse en la memoria.

Por lo tanto, las variables pueden especificar diferentes tipos de datos; estas variables pueden almacenar enteros, decimales o caracteres.



Asignación de variables

La asignación de variables en Python no requiere declaración de tipo.

Cada variable creada en la memoria incluye información como la identidad, el nombre y los datos de la variable.

Cada variable debe ser asignada antes de usarse; la variable solo se crea después de haber sido asignada.

El signo igual (=)=se usa para asignar valores a las variables.

El signo igual (=)=A la izquierda del operador se encuentra un nombre de variable; el signo igual=a la derecha del operador se encuentra el valor almacenado en la variable. Por ejemplo:

Ejemplo (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # Asignar una variable entera miles = 1000.0 # Punto flotante name = "John" # Cadena print counter print miles print name

Ejecutar ejemplo »

En el ejemplo anterior, 100, 1000.0 y "John" se asignan respectivamente a las variables counter, miles y name.

Ejecutar el programa anterior producirá el siguiente resultado:

100
1000.0
John


Asignación de múltiples variables

Python te permite asignar valores a múltiples variables al mismo tiempo. Por ejemplo:

a = b = c = 1

En el ejemplo anterior, se crea un objeto entero con valor 1, y las tres variables se asignan al mismo espacio de memoria.

También puede asignar múltiples variables a múltiples objetos. Por ejemplo:

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

En el ejemplo anterior, los dos objetos enteros 1 y 2 se asignan respectivamente a las variables a y b, y el objeto de cadena "john" se asigna a la variable c.



Tipos de datos estándar

Los datos almacenados en la memoria pueden ser de varios tipos.

Por ejemplo, la edad de una persona se puede almacenar con números, y su nombre se puede almacenar con caracteres.

Python define algunos tipos estándar para almacenar varios tipos de datos.

Python tiene cinco tipos de datos estándar:

  • Numbers (números)
  • String (cadena)
  • List (lista)
  • Tuple (tupla)
  • Dictionary (diccionario)


Números en Python

El tipo de dato numérico se utiliza para almacenar valores numéricos.

Son tipos de datos inmutables, lo que significa que cambiar el tipo de dato numérico asigna un nuevo objeto.

Cuando especificas un valor, se crea un objeto Number:

var1 = 1
var2 = 10

También puede usar la sentencia del para eliminar referencias a algunos objetos.

La sintaxis de la sentencia del es:

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

Puede eliminar referencias a uno o más objetos mediante la sentencia del. Por ejemplo:

del var
del var_a, var_b

Python admite cuatro tipos numéricos diferentes:

  • int (entero con signo)
  • long (entero largo; también puede representar octal y hexadecimal)
  • float (punto flotante)
  • complex (número complejo)
Ejemplo

Algunos ejemplos de tipos numéricos:

intlongfloatcomplex
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3e+18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2E-124.53e-7j
  • El entero largo también puede usar la l minúscula, pero se recomienda usar la L mayúscula para evitar confusiones con el número 1. Python usa L para mostrar enteros largos.
  • Python también admite números complejos, que constan de una parte real y una parte imaginaria. Se pueden representar con a + bj o complex(a, b). Tanto la parte real a como la parte imaginaria b son de tipo flotante.

Nota:El tipo long solo existe en las versiones de Python 2.X. En versiones posteriores a 2.2, los datos de tipo int se convierten automáticamente a tipo long después de un desbordamiento. En Python 3.X, el tipo long fue eliminado y reemplazado por int.



Cadenas en Python

Una cadena o string (String) es una secuencia de caracteres compuesta por números, letras y guiones bajos.

Generalmente se denota como:

s = "a1a2···an"   # n>=0

Es el tipo de dato que representa texto en los lenguajes de programación.

Las cadenas de Python tienen 2 órdenes de indexación:

  • De izquierda a derecha, el índice comienza en 0 por defecto, y el rango máximo es la longitud de la cadena menos 1.
  • De derecha a izquierda, el índice comienza en -1 por defecto, y el rango máximo es el inicio de la cadena.

Si necesitas obtener una subcadena de una cadena, puedes usar[índice_inicial:índice_final]para extraer la cadena correspondiente. Los índices se cuentan desde 0 y pueden ser positivos o negativos. Un índice vacío indica que se toma hasta el principio o el final.

[índice_inicial:índice_final]La subcadena obtenida incluye el carácter del índice inicial, pero no incluye el carácter del índice final.

Por ejemplo:

>>> s = 'abcdef'
>>> s[1:5]
'bcde'

Cuando se usa una cadena separada por dos puntos, Python devuelve un nuevo objeto; el resultado incluye el contenido contiguo identificado por este par de desplazamientos, y el inicio por la izquierda incluye el límite inferior.

El resultado anterior incluyes[1]el valor b, y el rango máximo obtenido no incluyeel índice final, es decir,s[5]el valor f.

El signo más (+) es el operador de concatenación de cadenas, y el asterisco (*) es el operador de repetición. Como en el siguiente ejemplo:

Ejemplo (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- str = 'Hello World!' print str # Imprime la cadena completa print str[0] # Imprime el primer carácter de la cadena print str[2:5] # Imprime la cadena entre el tercer y el sexto carácter print str[2:] # Imprime la cadena a partir del tercer carácter print str * 2 # Imprime la cadena dos veces print str + "TEST" # Imprime la cadena concatenada

El resultado del ejemplo anterior es:

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


Listas en Python

List (lista) es el tipo de dato más utilizado en Python.

Las listas pueden implementar la mayoría de las estructuras de datos tipo colección. Admiten caracteres, números, cadenas e incluso pueden contener listas (es decir, anidamiento).

Las listas se identifican con[ ]el símbolo [] y son el tipo de dato compuesto más versátil de Python.

El corte de valores en una lista también puede usar la variable[índice_inicial:índice_final]para extraer la lista correspondiente. De izquierda a derecha, el índice comienza en 0 por defecto; de derecha a izquierda, comienza en -1. Un índice vacío indica que se toma hasta el principio o el final.

El signo más (+)+es el operador de concatenación de listas; el asterisco (*)*es el operador de repetición. Como en el siguiente ejemplo:

Ejemplo (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- list = [ 'ejemplo', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print list # Imprime la lista completa print list[0] # Imprime el primer elemento de la lista print list[1:3] # Imprime del segundo al tercer elemento print list[2:] # Imprime todos los elementos desde el tercero hasta el final de la lista print tinylist * 2 # Imprime la lista dos veces print list + tinylist # Imprime la lista combinada

El resultado del ejemplo anterior es:

['ejemplo', 786, 2.23, 'john', 70.2]
ejemplo
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['ejemplo', 786, 2.23, 'john', 70.2, 123, 'john']

El corte de listas en Python puede recibir un tercer parámetro, que actúa como el paso del corte. El siguiente ejemplo extrae la cadena desde el índice 1 hasta el índice 4 con un paso de 2 (saltando una posición):



Tuplas en Python

La tupla es otro tipo de dato, similar a List (lista).

Las tuplas se identifican con()el símbolo (). Los elementos internos se separan con comas. Sin embargo, las tuplas no se pueden reasignar; equivalen a listas de solo lectura.

Ejemplo (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- tuple = ( 'ejemplo', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print tuple # Imprime la tupla completa print tuple[0] # Imprime el primer elemento de la tupla print tuple[1:3] # Imprime del segundo al cuarto elemento (sin incluir el cuarto) print tuple[2:] # Imprime todos los elementos desde el tercero hasta el final de la tupla print tinytuple * 2 # Imprime la tupla dos veces print tuple + tinytuple # Imprime la tupla combinada

El resultado del ejemplo anterior es:

('ejemplo', 786, 2.23, 'john', 70.2)
ejemplo
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('ejemplo', 786, 2.23, 'john', 70.2, 123, 'john')

Las siguientes operaciones con tuplas no son válidas, porque las tuplas no permiten actualizaciones, mientras que las listas sí las permiten:

Ejemplo (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- tuple = ( 'ejemplo', 786 , 2.23, 'john', 70.2 ) list = [ 'ejemplo', 786 , 2.23, 'john', 70.2 ] tuple[2] = 1000 # Es una operación inválida en una tupla list[2] = 1000 # Es una operación válida en una lista

Las tuplas no permiten actualizaciones, por lo que el código anterior produce un error. El resultado es:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    tuple[2] = 1000    # 元组中是非法应用
TypeError: 'tuple' object does not support item assignment


Diccionarios en Python

El diccionario (dictionary) es, además de la lista, el tipo de estructura de datos integrada más flexible en Python. Las listas son colecciones ordenadas de objetos; los diccionarios son colecciones desordenadas de objetos.

La diferencia entre ambos es que los elementos de un diccionario se acceden mediante claves, no mediante desplazamientos.

Los diccionarios se identifican con "{ }". Un diccionario se compone de una clave (key) y su valor (value) correspondiente.

Ejemplo (Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- dict = {} dict['one'] = "This is one" dict[2] = "This is two" tinydict = {'name': 'ejemplo','code':6734, 'dept': 'sales'} print dict['one'] # Imprime el valor de la clave 'one' print dict[2] # Imprime el valor de la clave 2 print tinydict # Imprime el diccionario completo print tinydict.keys() # Imprime todas las claves print tinydict.values() # Imprime todos los valores

El resultado es:

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'ejemplo'}
['dept', 'code', 'name']
['sales', 6734, 'ejemplo']


Conversión de tipos de datos en Python

A veces necesitamos convertir los tipos de datos integrados. Para convertir un tipo de datos, solo tienes que usar el tipo de datos como nombre de función.

Las siguientes funciones integradas pueden realizar conversiones entre tipos de datos. Estas funciones devuelven un nuevo objeto que representa el valor convertido.

FunciónDescripción

int(x [,base])

Convierte x a un entero

long(x [,base] )

Convierte x a un entero largo

float(x)

Convierte x a un número de punto flotante

complex(real [,imag])

Crea un número complejo

str(x)

Convierte el objeto x a una cadena

repr(x)

Convierte el objeto x a una cadena de expresión

eval(str)

Se usa para evaluar una expresión Python válida en una cadena y devuelve un objeto

tuple(s)

Convierte la secuencia s a una tupla

list(s)

Convierte la secuencia s a una lista

set(s)

Convierte a un conjunto mutable

dict(d)

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

frozenset(s)

Convierte a un conjunto inmutable

chr(x)

Convierte un entero a un carácter

unichr(x)

Convierte un entero a un carácter Unicode

ord(x)

Convierte un carácter a su valor entero

hex(x)

Convierte un entero a una cadena hexadecimal

oct(x)

Convierte un entero a una cadena octal

Otras extensiones