Referencia rápida de Python (en proceso)

Referencia rapida de Python

Guía de Referencia Rápida de Python

Generalidades | Tipos de datos | Operaciones

Generalidades

  • Una declaración debe estar toda en una sola línea. Para romper una declaración en múltiples líneas debe usarse ‘\’ al final de cada una de ellas (salvo la última).
  • Excepción: siempre se puede romper dentro de cualquier par (), [] o {}, o en una cadena delimitada por triple comillas.
  • En una línea pueden aparecer más de una declaración separándolas por ‘;’.
  • Los comentarios comienzan con ‘#’ y continúan hasta el final de la línea.
  • Un identificador está formado por una letra o símbolo ‘_’ seguido de más letras, números o símbolos ‘_’.
  • Python distingue mayúsculas de minúsculas.

Tipos de datos

Los tipos de datos en Python se dividen en mutables, si su contenido puede cambiarse, e inmutables, si su contenido no puede cambiarse.

Números

  • Enteros (int): Ej:1234, −123456789.
  • Reales o números en coma flotante ( float ): Ej:0.001, 10., 3.14e−10.
  • Complejos (complex): Ej:2+3j, .5−1.4j, 1j.
  • Todos los tipos de números son datos inmutables.

Constantes lógicas (boolenas)

  • True (verdadero).
  • False (falso).
  • Las constantes lógicas son datos inmutables.

Secuencias

  • Cadenas ( string): delimitadas por comillas simples (‘Hola’), dobles ("Hola") o triples ( ‘‘‘ Hola’’ ’, """Hola""").
  • Tuplas (tuple): delimitadas por paréntesis y sus elementos separados por comas.Ej: ((), (1,) , (1, 2, 3)).
  • Listas ( list ): delimitadas por corchetes y sus elementos separados por comas.Ej: ( [] , [1] , [1, 2, 3]).
  • Las cadenas y tuplas son datos inmutables. Las listas son datos mutables.

Diccionarios (dict)

  • Pares clave : valores separados por coma y delimitados por llaves: Ej: ( {1:‘ primero’, ‘segundo’:2}).
  • Las claves deben ser datos inmutables.
  • Los diccionarios son datos mutables.

Conjuntos

  • Los conjuntos son colecciones no ordenadas de elementos no duplicados.
  • Los elementos de un conjunto deben ser datos inmutables.
  • set (secuencia) crea un conjunto mutable con los elementos de la secuencia especificada, descartando las repeticiones.
  • frozenset (secuencia)crea un conjunto inmutable con los elementos de la secuencia especificada, descartando las repeticiones.

Otros tipos de datos

  • La constante None es el dato nulo.

Operaciones sobre los tipos de datos básicos

Operadores de comparación

Operador Significado
< Menor estricto que
<= Menor o igual que
> Mayor estricto que
>= Mayor o igual que
== Igual que
!= Distinto que
is Idéntico que
is not No idéntico que

Estos operadores están definidos entre cualquier tipo de datos.

Operadores lógicos

Declaración Evalúa a
bool(expr) True si expr es verdadero.False si expr es falso
not expr True si expr es verdadero.Flase si es falso
expr1 or expr2 False si expr1 y expr2 son falsos.True en caso contrario.
expr1 and expr2 True si expr1 y expr2 son verdaderos.False en caso contrario.
  • La constante None, los ceros numéricos, las secuencias,diccionarios y conjuntos vacios se consideran falsos.
  • El resto de datos se consideran verdaderos.
  • Los operadores or y and sólo evaluan expr2 en caso necesario.

Operadores numéricos

Operación Resultado
abs(x) Valor absoluto de x
int(x) x convertido a entero
float(x) x convertido a real.
complex(x) x convertido a complejo
-x x negado
x+y Suma de x e y
x-y Resta de x e y
x*y Producto de x e y
x/y División de x e y (cociente de la división en el caso de x e y enteros)
x%y Resto de la división de x e y
divmod(x,y) La tupla (x/y,x%y)
x**y x elevado a y

Operadores de asignación

Operador Resultado
a=b Asigna b a a
a+=b Igual que a=a+b
a-=b Igual que a=a-b
a*=b Igual que a=a*b
a/=b Igual que a=a/b
a%=b Igual que a=a%b
a**=b Igual que a=a**b
  • El operador de asignación puede desempaquetar cadenas, tuplas y listas: (a,b)=range(2) es lo mismo que a=0;b=1
  • x,y=y,x intercambia los valores de x e y
  • Es posible realizar asignaciones múltiples: a=b=c=0 es lo mismo que a=0; b=0; c=0

Operaciones sobre secuencias

Operación Resultado
x in s True si un elemento de s es igual a x.False en caso contrario.
x not in s False si un elemento de s es igual a x.True en caso contrario.
s1+s2 Concatenación de s1 y s2
s * n, n * s n copias de s concatenadas
s[i] i-ésimo elemento de s
s[i:j:salto]

Porción de s con los elementos de los índices de la secuencia desde i (incluido)hasta j (excluido) con la diferencia salto.

len(s) Longuitud de s
min(s) Menor elemento de s
max(x) Mayor elemento de s
  • Si i o j son negativos, entonces son relativos al final de la secuencia; es decir, se considera len(s)+i o len(s)+j en su lugar.
  • Si i o j son mayores que len(s), entonces se considera len(s) en su lugar.
  • El valor por defecto de j es len(s). El valor por defecto de salto es 1.

Operaciones sobre cadenas

Operación Resultado
s.capitalize() Copia de s con sólo el primer caracter en mayúsculas
s.count(sub,ini.fin) Número de ocurrencias de la subcadena sub en el intervalo s [ini:fin]
s.find(sub,ini,fin) El menor índice donde se encuentra sub como subcadena de s[ini:fin], -1 si no se encuentra.
s.index(sub,ini,fin) Igual que s.find(sub,ini,fin) pero provoca un error si sub no se encuentra
s.isalnum() True si todos los caracteres de s son alfanuméricos.False en caso contrario.
s.isalpha() True si todos los caracteres de s son alfabéticos.False en caso contrario.
s.isdigit() True si todos los caracteres de s son dígitos.False en caso contrario.
s.islower() True si todos los caracteres de s están en minúsculas.False en caso contrario.
s.isupper() True si todos los caracteres de s están en mayúsculas.
s.join(sec) Concatenanción de las cadenas contenidas en sec separadas por s.
s.lower() Copia de s con todos los caracteres de s en minúsculas.
s.replace(vie,nue,max) Copia de s con todas (o max) ocurrencias de la subcadena vie reemplazadas por nue.
s . rfind (sub, ini , fin ) El mayor índice donde se encuentra sub como subcadena de s [ ini : fin ], −1 si no se encuentra
s .rindex(sub, ini , fin ) Igual que s . rfind (sub, ini , fin ), pero provoca un error si la subcadena no se encuentra.
s.split(sep,max) La lista de todas (o max) palabras obtenidas de s usando sep como cadena delimitadora
s.rsplit(sep,max) Igual que s . split (sep,max), pero desde el final de la cadena
s.swapcase() Copia de s transformando mayúsculas en minúsculas y viceversa
s.upper() Copia de s con todos los caracteres en mayúsculas

  • El valor por defecto de ini es 0, y el valor por defecto de fin es len(s).
  • Los métodos isalnum, isalpha,isdigite isspace devuelven False si la cadena no contiene al menos un carácter. Los métodosislowere isupper devuelven False si la cadena no contiene al menos un carácter alfabético.
  • El valor por defecto de sep es espacio en blanco. El argumento max es opcional.

Operaciones sobre listas

Operación Resultado
s[i]=x El i-ésimo elemento de s es reemplazado por x
s[i:j:salto]=t La porción de s con los elementos en las posiciones de la lista desde i (incluido) hasta j (excluido) ,con diferencia salto, reemplazada por t
del s[i] Elimina el i-ésimo elemento de s
del s[i:j:salto] Lo mismo que s [ i : j : salto ]=[]
s.append(x) Lo mismo que s [ len(s ): len(s)]=[x]
s.extend(x) Lo mismo que s [ len(s ): len(s)]=x
s.count(x) El cardinal del conjunto {i : s [ i]==x }
s .index(x, ini , fin) El menor i tal que ini ≤ i < fin y s [ i]==x
s . insert ( i ,x) Lo mismo que s [ i : i ]=[x]
s .remove(x) Lo mismo que del s [ s .index(x)]
s .pop(i) Lo mismo que x=s[i ];del s [ i ];return x
s . reverse () Invierte el orden de los elementos de s
s . sort () Ordena los elementos de s
  • Los métodos reverse y sort modifican la lista. No devuelven el resultado para poner de manifiesto este efecto lateral.
  • El argumento del método pop toma −1 como valor por defecto, por lo que por defecto el último elemento de la lista es eliminado y devuelto.

Operaciones sobre diccionarios

Operación Resultado
len(d) El número de elementos en d
d[k] El elemento de d con clave k
d[k]=x Establece a x el valor del elemento de d con clave k
del d[k] Elimina el elemento de d con clave k
d.clear() Elimina todos los elementos de d
d.copy() Una copia de d
d.has_key(k) True si d contiene un elemento con clave k, False en caso contrario
kind Lo mismo que d.has_key(k)
d.items() La lista de los pares (clave , valor) de d
d.keys() La lista de las claves de d
d.values() La lista de los valores de d

Operaciones sobre conjuntos

Operación Resultado
len(s) Longuitud o tamaño del conjunto s
elt in s

True si elt pertenece a s, False en caso contrario

elt not in s True si elt no pertenece a s, False en caso contrario
s1.issubset(s2) True si todo elemento de s1 pertenece a s2,False en caso contrario
s1.issuperset(s2) True si todo elemento de s2 pertenece a s1, False en caso contrario
s.add(elt) Añade elt al conjunto mutable s
s.remove(elt) Elimina elt del conjunto mutable s
s.clear() Elimina todos los elementos del conjunto mutable s
s1.intersection(s2)

s1 & s2

Nuevo conjunto con los elementos comunes a s1 y s2 (Intersección)
s1.union(s2)

s1 | s2

Nuevo conjunto con los elementos de s1 y de s2 (Unión)
s1.difference(s2)

s1 - s2

Nuevo conjunto con los elementos que pertenecen a s1, pero no a s2
s1.symmetric_difference(s2)

s1 ^s2

Nuevo conjunto con los elementos que pertenecen a s1 o a s2, pero no a ambos
s.copy() Nuevo conjunto copia del conjunto s
s.update(sec) Añade los elementos de sec al conjunto s

Declaraciones

Declaración Resultado
pass Declaración nula
del nombre Borra el dato llamado nombre
global nombre Estable como global la variable nombre
print s1,...,sN, Escribe en pantalla representaciones de s1 ... sN separadas por un espacio en blanco
print s1 ,...,sN

Escribe en pantalla representaciones de s1, ..., sN separadas por un espacio en blanco y terminando con un salto de línea

raise TipoError Provoca un error de tipo TipoError

Declaraciones de control de flujo

Declaración Significado
if condicion:

acciones

Condicional simple
if condicion: 
   acciones1
else:
   acciones2
Condicional if..else
if condicion1: 
   acciones1
elif condicion2:
   acciones2
else:
   acciones3
Condicional múltiple (if / else anidados)
while consicion: 
   acciones
Bucle while (mientras)
for elt in secuencia: 
   acciones
Bucle for (para desde)
break Interrumpe el bucle
continue Continua el bucle

Definición de funciones

def nombre_funcion ( parametros ) :
   ‘documentacion’
   acciones
   return resultado

parametros es una sucesión de identificadores separados por comas.

def nula ( x , y , z ) :

‘ Funcion que no h a c e nada ’

p a s s

Los argumentos se pasan a la función por posición o por nombre.

n u l a ( 1 , z =3 , 2 ) hace que los parámetros tomen los siguientes valores: x=1, y=2, z=3

La sucesión de parámetros puede contener uno de la forma *nombre, en cuyo caso se le asignará la tupla de todos los argumentos proporcionados por posición que no correspondan a otro parámetro.

defn u l a ( x , y , z ,∗ a r g s ) :

‘ Funcion que no h a c e nada ’

p a s s n u l a ( 1 , 2 , 3 , 4 , 5 , 6 ) hace que los parámetros tomen los siguientes valores: x=1, y=2, z=3, args=(4, 5, 6) La sucesión de parámetros puede contener uno de la forma **nombre, en cuyo caso se le asignará un diccionario con todos los argumentos proporcionados por nombre que no correspondan a otro parámetro. defn u l a ( x , y , z ,∗∗ kwargs ) : ‘ Funcion que no h a c e nada ’ p a s s n u l a ( 1 , z =3 , 2 , u=4 , v=5 , w=6) hace que los parámetros tomen los siguientes valores: