Comandos Python 2.7
Comandos Python 2.7
• Estructura de programa:
1. Comentarios con el tipo de codificación, objeto del programa, nombre del
programador y fecha de la última modificación
2. Sentencias que importan los módulos pertinentes Automático en Windows
• A tener en cuenta:
- Incluir comentarios que describan el efecto de cada algoritmo para comprenderlo
al leerlo a posteriori
- No olvidar el sangrado cuando sea pertinente
- Nombrar las variables de manera reconocible (a no ser que se haya especificado
su significado en los comentarios)
- Líneas de código preferiblemente no demasiado largas
- Si se tiene una línea demasiado larga, puede cortarse con una barra invertida (\)
y continuar en la siguiente línea
- En paréntesis, corchetes o llaves, no dejar espacios inmediatamente dentro de
ellas
- Justo después de coma, punto y coma o punto, separar con un espacio para mayor
claridad, pero no antes de los mismos
• Directorio archivo ― pwd Consultas sobre las func iones:
help(funcion) o funcion?
• Cambiar directorio ― cd
F or T = T
• Operadores lógicos:
- Igual a (comparación) ― == T or T = T
Los caracteres en Python son de tipo ascii (7 bits), si queremos que no haya problemas con los
acentos o con la letra ñ tienen q ue ser definidos como de tipo unicode de 8 bits
Únicamente pueden concatenarse strings. Para concatenar letras o números hay que convertirlos en
strings: print(str(10) + “al cuadrado es” + str(100))
• Tuplas, igual que las listas pero inalterables ― (‘Newton’, ‘Curie’, ‘Galileo’)
• Bucles:
- For ― realiza una misma acción varias veces, como sumatorios o recorrer con
una variable cada uno de los elementos de una lista:
cientificos = [‘Nikola Tesla’, ‘Ernest Rutherford’,
‘Jocelyn Bell Burnell’]
for cientifico in cientificos:
print(‘%s hizo grandes aportes a la Ciencia’
%cientifico)
Resultado: ‘cientifico’ es una
Nikola Tesla hizo grandes aportes a la Ciencia variable muda que
Ernest Rutherford hizo grandes aportes a la Ciencia va tomando el valor
de cada uno de los
Jocelyn Bell Burnell hizo grandes aportes a la Ciencia elementos de la
lista hasta que no
queden más (fin del
bucle)
En bucles, enumerate () devuelve dos cosas: elemento e índice
de una lista. Definiendo dos variables, podemos usarlo de la siguiente manera:
a, b, c = 23, 0, ‘A’
try:
a/b
except ZeroDivisionError:
print(‘Error, division entre cero’)
try:
a/c
except TypeError:
print(‘Error en el tipo de dato’)
• Arrays ― orientado al cálculo numérico (más práctico que las listas en ese
sentido). Pueden considerarse como vectores o matrices. Se importan mediante el
módulo numpy, que contiene las mismas funcionalidades que math y añade otras
tantas.
- Crear array ― x = ([2., 7.6, 3.1, 9.8])
- Convertir lista (p.e. la llamada ‘datos’) en array ― datos = array(datos)
- Rango en array ― arange(x)
- Array de x ceros ― zeros(x)
- Array de x unos ― ones(x)
- Array n valores desde x hasta y (incluidos), con el mismo intervalo entre valor y
valor ― linspace(x, y, n)
• Índices de arrays:
- Intervalo concreto: [x, z) ― print(nombre_array[x:y])
- Elementos desde el primero hasta x-1: [0, x) ― print(nombre_array[:x])
- Elementos desde y hasta el final ― print(nombre_array[y:])
- Elemento x contando desde el final ― print(nombre_array[-x])
- Elementos de x hasta y, de dos en dos ― print(nombre_array[x:y:2])
z.funcionalidad() == funcionalidad(z)
• Funcionalidades de un array:
- Número de elementos de un array ― print(len(nombre_array))
- “Forma” de un array ― print(nombre_array.shape)
- Conocer tipo de dato x dentro de un array ― type(nombre_array[x])
- Concatenar arrays ― m = concatenate((array1, array2))
- Concatenar array y valores x e y ― n = concatenate((array1, [x, y]))
- Añadir un elemento x a un array z ― z = append(z, x)
- Añadir un elemento x a un array z en la posición 3 ― z = insert(z, 2, x)
- Imprimir valor máximo de los elementos del array ― z.max()
- Imprimir valor mínimo de los elementos del array ― z.min()
- Imprimir valor medio de los elementos del array ― z.mean()
- Imprimir deviación típica de los elementos del array ― z.std() Se trate o no de
- Imprimir suma de todos los elementos del array ― z.sum() arrays booleanos
- Imprimir mediana de los elementos del array ― z.median()
- Array como índice de otro array ― print(array1[array_indice])
- Crear arrays usando operadores booleanos ― array_mayores_50 = array2 >
50 imprime un array booleano con elementos True o False en función de si el
dato cumple o no la desigualdad
from scipy import
random
• Array de x números aleatorios alrededor de cero y con varianza = 1― numeros =
random.randn(x)
from numpy.random import
*
• Array de n números aleatorios entre x e y-1: [x, y) ― randint(x, y, n)
• Arrays multidimensionales:
- Array de tres filas y tres columnas — array0 = array([[a,b,c],
[x, y, z], [j, k, l]])
- Array de ceros de 2x3 ― array1 = zeros((2, 3))
- Array de unos de 4x2 ― array2 = ones((4, 2))
- Array de rango 9 ( [0, 9) ) y de forma 3x3 ― array3 =
arange(9).reshape(3,3)
- Primer elemento de la primera fila y la primera columna (índice[0x0]) ―
array4[0,0]
- Primera columna ― array5[:,0]
- Primera fila ― array6[0,:]
- Segunda fila ― array7[1,:]
El primer elemento del corchete equivale a la De la misma forma podemos asignarle valores
fila, y el segundo, a la columna. Podemos jugar a los arrays. Simplemente escogemos la
introduciendo un valor fijo en uno de los lugares posición o posiciones que queremos manipular
(0, 1 o 2 en el caso de que haya 3 y los igualamos a los valores buscados. P.e.
filas/columnas) y modificando el otro con ‘:x’, nombre_array[1:, 2 ] nos daría el segundo
siendo x la posición del último elemento que y tercer elemento de la tercera columna de
queremos que dé. P.e. nombre_array[1,:2] un array 3x3. Si pusiéramos
nos devolvería un array con los dos primeros nombre_array[1:, 2] = [x, y] , estos
elementos de la segunda fila de un array 3x3. dos elementos se sustituirían por x e y
• Media geométrica (incertidumbre que actúa de forma multiplicativa p.e. porcentajes) ― gmean(#)
• Mediana (valor que separa la mitad de los valores mayores que la otra mitad) ― median(#)
Primer paso para manipular un fichero: crear una instancia, una llamada o referencia (en este
caso a un fichero) a la que se le asigna un nombre. P.e. vamos a definir la instancia fs y a
manipular un hipotético fichero invocándola:
fs = open(‘fichero.txt’, ‘w’)
fs.write(‘Texto del fichero’ )
Los datos (números, letras, caracteres) se escriben y lee n como strings. Si queremos operar con
ellos debemos transformarlos en los tipos de variables apropiadas (int, float, list, array…)
• Crear y guardar un fichero de dos columnas con los datos de los arrays x_datos e
y_datos ― savetxt(‘nombre_archivo.txt’, (x_datos, y_datos))
• Leer un archivo del tipo correspondiente al punto anterior y almacenar los arrays
en las variables x e y ― x, y = loadtxt(‘nombre_archivo.txt’)
savetxt() guarda cada array en una fila, salvo que queramos guardar un
array unidimensional, en cuyo caso se escribe en una columna
• Dibujar gráficas:
- Importar módulo pylab
- Definir x (mediante un arange(), por ejemplo)
- Generar el gráfico de la función ― plot(x)
- Mostrar el gráfico por pantalla ― show() En Windows no es necesario
- Ejemplos de plot(#):
▪ mi dibujo_2, = plot(x(t), y(t), ‘bx-’)
▪ mi dibujo_3, = plot(x, lw=5,c ='y', marker='o', ms=10,
mfc='red')
• Modificar número de bins (barras) del histograma (por defecto son 10) ―
hist(nombre_array, bins=x)
Desde que se escribe figure(n) (antes de
hacer plot(#)) todos los parámetros que Cada bin representa el número de
introduzcamos se aplicaran a esa figura. La valores que “caen” en ese intervalo
primera función es por defecto figure(1)
• Barras de error:
- Definimos arrays con los valores de x, y
- Si el error es común a todos los puntos:
▪ Definimos errores fijos ― err_x = a & err_y = b
▪ Pintamos la gráfica, donde m son los parámetros de color y forma de los
puntos de la gráfica ― errorbar(x, y, err_x, err_y, ‘m’)
- Si existen diferentes errores en cada punto:
▪ Definimos un array de errores ― err_x = array([a, b, c]) & err_y =
array([d, e, f])
▪ Pintamos la gráfica, donde m son los parámetros de color y forma de los
puntos de la gráfica ― errorbar(x, y, err_x, err_y, ‘m’)
• Poner ejes en escala logarítmica (m son los parámetros de color y forma de los puntos
de la gráfica):
- Eje x ― p1, = semilogx(x, y, ‘m’)
- Eje y ― p2, = semilogy(x, y ‘m’) Por defecto paleta
- Ambos ejes ― p3, = loglog(x, y, ‘m’) de colores jet()