Beruflich Dokumente
Kultur Dokumente
Índice
1. ¿Cómo puedo obtener Python? 2
5. ¿Cómo condiciono? 4
9. ¿Cómo comentar? 7
1
1. ¿Cómo puedo obtener Python?
Python es un lenguaje de programación, fácil de leer y que tiene versatilidad en los distintos “gustos”
de programar. Es un lenguaje utilizado a nivel mundial en investigación y corre en los sistemas ope.
La implementación de referencia es un software Libre y Abierto.
Si deseas obtener herramientas útiles para programar en Python, puedes descargar una distribu-
ción con licencia académica de: http://www.enthought.com/products/edudownload.php
Si deseas trabajar en una interfaz más comoda, que se parece a Matlab, puedes descargar Spyder
de: https://code.google.com/p/spyderlib/
En clase trabajaremos en la versión más simple de Python. En todas las salas de la universidad
se encuentra esta versión, siempre buscar Python−→Idle.
Al abrir Idle, Siempre se encontrará una consola (Python Shell), donde se puede escribir una serie
de instrucciones para calcular pero no serán guardadas. Si desea hacer un nuevo script, se debe crear
una nueva ventana en File −→New Window. Al guardar sus archivos siempre agréguele la terminación
.py para que sean reconocidos al abrirlos luego. Por ejemplo: ’ejemplo1.py’
Para probar su método, en la consola puede seleccionar la opción Debug−→Debugger, y luego
correr su método en Run Module (F5)
2
y matriciales) y Pylab ( permite graficar). Por lo general se importa cada librería con un nombre (por
ejemplo np), y para usar funciones de esa librería se llaman nombre.función (es decir np.sqrt() )
import numpy a s np
import pylab a s p l t
Si sólo se desea importar una función de una librería se puede poner:
from numpy import s q r t
De esta forma se pueden crear varios archivos e importarlos en un archivo principal. Esto permite
que sean más flexibles los códigos.
#Se puede p a s a r de un t i p o a o t r o :
A=i n t (A) #C o n v i e r t e a e n t e r o
A=f l o a t (A) #C o n v i e r t e a d e c i m a l
A=5+4 j #D e f i n e números c o m p l e j o s .
B=A∗∗2 #P o t e n c i a a l a 2 de A (A^2)
Por defecto, Python crea listas de números. El índice siempre empieza en 0. Es decir
A=[1,2,3], Python lo entiende como una lista compuesta por 1, 2 y 3. Si se quieren crear matrices,
es necesario importar Numpy y se tienen 2 opciones:
• Array: Es la más conveniente ya que la mayoría de los métodos de Numpy regresan variables
tipo Array.
A=np . a r r a y ( [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ) #Crea l a m a t r i z
[1 ,2 ,3;4 ,5 ,6;7 ,8 ,9]
C=A+B #Suma de m a t r i c e s
C=A∗B #p r o d u c t o término a término de m a t r i c e s
C=dot (A, B) #Producto m a t r i c i a l AB
C=A. T #T r a n s p u e s t a de A
C=A∗∗2 #P o t e n c i a 2 de A
3
C=np . l i n a l g . i n v (A) #I n v e r s a de A
• Matrix: Permite realizar más fácilmente operaciones de álgebra lineal.
A=np . matrix ( [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ) #Crea l a m a t r i z
[1 ,2 ,3;4 ,5 ,6;7 ,8 ,9]
B=np . matrix ( [ 5 , 6 , 7 ] , [ − 1 , 2 , 3 ] , [ 6 , 7 , 8 ] ) #Crea l a m a t r i z
[5 ,6 ,7; −1 ,2 ,3;6 ,7 ,8]
C=A+B #Suma de m a t r i c e s
C=A∗B #p r o d u c t o m a t r i c i a l AB
C=m u l t i p l y (A, B) #Producto término a término de m a t r i c e s
C=A.H #T r a n s p u e s t a de A
C=A. I #I n v e r s a de A
C=A.A #Tranformación de A a t i p o Array
A veces sólo se quiere tener una lista de objetos, pero sin que tengan estructura para hacer
operaciones. Para esto se puede:
C= [ ] #D e f i n e una l i s t a v a c i a
C . append ( 4 ) #Agrega a l a l i s t a 4 , C= [ 4 ]
C . append (5+1 j ) #Agrega a l a l i s t a 5+1 j , C=[4 ,5+1 j ]
5. ¿Cómo condiciono?
En Python, no se utiliza end para terminar una instrucción, por lo tanto es muy importante
tabular.
i f condicion1 :
Comando1
Comando2
e l i f condicion2 :
Comando3
Comando4
else :
Comando5
Por ejemplo:
i f x <2.:
a=3
e l i f x <3.:
a=4
e l i f x <5.:
a=5
else :
a=6
4
Símbolos
Igual a==b
Diferente a!=b
Mayor que a>b
Mayor o igual que a>=b
Menor que a<b
Menor o igual que a<=b
y a and b
o a or b
de enteros.
Dado que lo más usado es definir el contador de un número n a un número m con paso de h, este
se puede definir como range(n,m,h), y esto regresa una lista [n, n + h, n + 2h, ..., m − h]
f o r c o n t a d o r in l i s t a :
comando1
comando2
Por ejemplo
f o r i in r a n g e ( 4 ) :
K=K+i
6.1.1. Zip
Si se quieren recorrer 2 listas al mismo tiempo, se pueden manejar 2 contadores. Por ejemplo
suponga que se tienen 2 listas A y B y se quiere calcular un nuevo vector C tal que Ci = Ai ∗ exp(Bi ).
Esto se podría programar como:
A=np . a r r a y ( [ 1 , 2 , 3 ] )
B=np . a r r a y ([ −1 , −3 , −5])
C= [ ]
f o r i , j , k in z i p (A, B) :
C . append ( i ∗np . exp ( j ) )
5
7. ¿Cómo organizo mi programa?
7.1. Definición de funciones
Las funciones son definidas en un módulo y pueden ser llamadas cuando se importa el módulo, o
dentro del mismo módulo. Realizan comandos específicos.
def nombrefuncion ( p a r a m e t r o s ) :
comando 1
comando 2
return r e s u l t a d o
Por ejemplo:
def s u ma e n te r o s ( n ) :
y=n ∗ ( n−1) /2
return y
6
8.1. Gráficas
Para graficar existen varias librerias disponibles. Una de las más comunes y que se puede encontar
en cualquier computador es Pylab. Otras recomendables para manejar gráficos más complejos son
matplotlib y mayavi.
import pylab a s p l t
plt . p l o t ( x p o i n t s , y p o i n t s ) #P i n t a l a c u r v a y v s . x
plt . l e g e n d ( ( ’ l i n e a 1 ’ , ’ l i n e a 2 ’ , . . . ) ) #Muestra l a l e y e n d a
plt . s u p t i t l e ( t i t u l o ) #Muestra t i t u l o
plt . show ( )
9. ¿Cómo comentar?
Hay 2 opciones para comentar: # o ” ’ ” ’
Opcion 1
x=2 #D e f i n e a x como 2 . E s t e t i p o de c o m e n t a r i o e s l i n e a a l i n e a
y=3 #D e f i n e a y como 3 .
Opcion 2
’ ’ ’ El método d e f i n e l o s v a l o r e s de :
x=2
y=3
E s t e c o m e n t a r i o a p a r e c e en l a documentacion
’’’
x=2
y=3