Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
M a t e r i a l d e a p o y o e l ab or a d o c o m o a p o y o a l a materia M t o d o s N um r i c o s D i e g o Ca m i l o P e a R a m r e z ( d o c e n t e )
Twitter: @nervencid
1
CONTENIDO
Que es Python? Historia de Python Caractersticas de Python EMPEZAR A UTILIZAR PYTHON Aplicacin bsica Hola mundo COMENTARIOS VARIABLES TIPOS DE DATOS OBTENER EL TIPO DE VARIABLE CONVERSIONES COLECCIONES DE TIPOS DE DATOS
2
CONTENIDO
DICCIONARIOS OBTENER UN CARCTER DE UNA CADENA OPERACIONES ARITMETICAS OPERACIONES LOGICAS OPERADOR DE PERTENENCIA 'in' SENTENCIA 'for' SENTENCIA 'while' SENTENCIA 'if' FUNCIONES
3
CONTENIDO
FUNCIONES DE ORDEN SUPERIOR FUNCIONES LAMBDA COMPRENSIN DE LISTAS GENERADORES DECORADORES MANEJO DE ARCHIVOS ESCRIBIR TABLAS EN PYTHON EXCEPCINES Y ERRORES PROGRAMACIN ORIENTADA A OBJETOS
CONTENIDO
PROGRAMACIN ORIENTADA A OBJETOS (HERENCIA) PROGRAMACIN ORIENTADA A OBJETOS (CLASES DECORADORAS) BIBLIOGRAFIA SOBRE EL AUTOR Y EL CONTENIDO
Que es Pyhton?
Python es un lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis muy limpia y que favorezca un cdigo legible.[1]
Historia de Pyhton
Python fue creado a finales de los ochenta2 por Guido van Rossum en el Centro para las Matemticas y la Informtica (CWI, Centrum Wiskunde & Informatica), en los Pases Bajos, como un sucesor del lenguaje de programacin ABC, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba.3 [1]
Imagen extrada de [1]
7
Historia de Pyhton
El nombre del lenguaje proviene de la aficin de su creador original, Guido van Rossum, por los humoristas britnicos Monty Python. [1]
Caractersticas de Python
Simple Sencillo de Aprender Libre y Fuente Abierta Indentado Lenguaje de Alto Nivel Portable Interpretado Orientado a Objetos
Caractersticas de Python
Ampliable (Permite combinar fragmentos
con otros lenguajes de programacin). Incrustable (Permite insertar cdigo en otros lenguajes para dar facilidades de scripting). Libreras Extendidas
1 0
1 1
1 2
SI!, as de sencillo es
1 3
COMENTARIOS
Antes que nada los comentarios estn marcados con el
signo # esto es importante para poder entender el cdigo fuente del programa en un futuro. Los comentarios NO se ejecutan y son ignorados por el interprete de Python.
1 4
VARIABLES
Declaracin:
1 5
VARIABLES
PYTHON ve a las variables como objetos, y cuando le asignamos un nombre a una variable es algo as como asignarle una etiqueta que apuntara a una direccin de memoria donde se encuentra almacenado el objeto. Cuando cambiamos el valor de dicha variable lo que hacemos es que la etiqueta apunte a otra direccin de memoria de dicho objeto. Cuando varias variables tienen asignado el mismo valor la etiqueta en realidad apuntara a la misma direccin de memoria.
1 6
VARIABLES
1 7
VARIABLES
1 8
TIPOS DE DATOS
TIPOS DE DATOS
Aunque NO es necesario declarar el tipo de
variable, Python SI reconoce automticamente que tipo de variable es. Tambin podemos operar nmeros complejos y nmeros enteros (o de tipo 'float'), sin ningn problema. SIN EMBARGO no podemos hacer cosas como por ejemplo operar cadenas 'string' con nmeros.
2 0
2 1
CONVERSIONES
2 2
CONVERSIONES
2 3
CONVERSIONES
2 4
CONVERSIONES
2 5
2 6
2 7
2 8
2 9
DICCIONARIOS
3 0
3 1
OPERACIONES ARITMETICAS
3 2
OPERACIONES ARITMETICAS
3 3
OPERACIONES ARITMETICAS
3 4
OPERACIONES LOGICAS
3 5
OPERACIONES LOGICAS
3 6
OPERACIONES LOGICAS
3 7
OPERACIONES LOGICAS
3 8
OPERADOR DE PERTENENCIA in
3 9
OPERADOR DE PERTENENCIA in
4 0
SENTENCIA for
4 1
SENTENCIA for
4 2
SENTENCIA for
4 3
SENTENCIA for
4 4
SENTENCIA while
4 5
SENTENCIA if
4 6
FUNCIONES
4 7
FUNCIONES
Antes de Realizar el prximo ejercicio cree dos archivos uno que se llame FuncionesExternas.py y otro que se llame LlamadoDeFunciones.py, que estn en LA MISMA CARPETA.
4 8
FUNCIONES
En FuncionesExternas.py escriba el siguiente cdigo y guarde el archivo:
4 9
FUNCIONES
En LlamadoDeFunciones.py escriba el siguiente cdigo, guarde el archivo y luego ejecute (F5):
5 0
FUNCIONES
Otra forma de llamar funciones:
5 1
FUNCIONES
Si el archivo que queremos importar NO esta en la misma carpeta, ni en Python usamos 'sys.path.append(.../Direccion donde esta el archivo que necesitamos)' para poder usar 'scripts' en otras ubicaciones:
5 2
5 3
5 4
5 5
5 6
5 7
5 8
FUNCIONES LAMBDA
Las funciones Lambda, son funciones ANONIMAS que se componen de una sola linea de cdigo. Estas funciones son limitadas ya que NO podemos escribir dentro de estas algunos comandos de cdigo como sentencias for, while, etc...
5 9
FUNCIONES LAMBDA
Tambin podemos hacer algunas operaciones lgicas SIMPLES por ejemplo la siguiente expresin:
6 0
FUNCIONES LAMBDA
6 1
COMPRENSION DE LISTAS
Las listas podemos llenarlas de forma automtica usando la sentencia for o con algn otro bucle como se vio anteriormente, sin embargo es posible simplificar aun ms la sintaxis mediante la comprensin de listas, aunque tenemos restricciones similares a las de las funciones lambda, podemos reemplazar una funcin como la siguiente:
6 2
COMPRENSION DE LISTAS
Por lo siguiente:
6 3
COMPRENSION DE LISTAS
Algunos ejemplos adicionales:
6 4
COMPRENSION DE LISTAS
6 5
GENERADORES
Veamos en el ejemplo anterior que podamos crear listas de forma automtica con una sintaxis muy breve, ahora veremos como generar los valores de uno en uno, sin necesidad de crear una lista, a esto los llamamos generadores. Los cuales son funciones que usan la palabra reservada yield y generar cada valor en secuencia cada vez que se llame la funcin next().
6 6
GENERADORES
La primera opcin de sintaxis es similar a la comprensin de listas. OJO lo que arroja esto son valores y NO una lista.
6 7
GENERADORES
Efectivamente si verificamos en la consola o shell:
6 8
GENERADORES
6 9
GENERADORES
La segunda opcin es emplear una funcion con la palabra reservada yield:
7 0
GENERADORES
Y verificamos en la consola o shell:
7 1
GENERADORES
7 2
DECORADORES
Los decoradores son funciones que reciben funciones como argumentos y devuelven funciones. Debido a que debemos hacer una funcin que reciba funciones de cualquier tipo junto que argumentos de cualquier tipo debemos disponer de los siguientes parametros en el decorador:
*args: Es un parmetro que recibe una cantidad n de atributos. **kwargs: Es un diccionario donde se recibirn los valores de los argumentos y sus respectivas llaves.
DECORADORES
7 4
DECORADORES
7 5
DECORADORES
7 6
DECORADORES
7 7
DECORADORES
7 8
DECORADORES
Ahora probemos un ejemplo complejo con varios decoradores, primero tenemos uno llamado administrador que se encargar de verificar si la clave que introduzca el usuario es correcta ANTES de ejecutar la funcin a decorar:
7 9
DECORADORES
8 0
DECORADORES
8 1
DECORADORES
8 2
DECORADORES
8 3
MANEJO DE ARCHIVOS
8 4
MANEJO DE ARCHIVOS
8 5
MANEJO DE ARCHIVOS
8 6
MANEJO DE ARCHIVOS
8 7
8 8
EXCEPCIONES Y ERRORES
La gestin de errores es algo muy importante en proyectos de alta complejidad, para garantizar el correcto funcionamiento del programa evitando, en varias ocasiones puede que Python por si mismo no pueda ayudarnos a identificar el error apropiadamente por lo cual debemos servirnos de las excepciones para poder detectar que partes de nuestro cdigo podra fallar.
8 9
EXCEPCIONES Y ERRORES
Python emplea palabras reservadas para le gestin de excepciones como:
9 0
EXCEPCINES Y ERRORES
Podemos dispararlas manualmente bien sea de esta forma:
9 1
EXCEPCINES Y ERRORES
O de esta otra forma:
9 2
EXCEPCINES Y ERRORES
Otra opcin puede ser:
9 3
EXCEPCINES Y ERRORES
9 4
EXCEPCINES Y ERRORES
9 5
EXCEPCINES Y ERRORES
9 6
Estado/Atributo: Son datos o valores que describen el objeto (Longitud, color, material...) Comportamiento: Ms conocidos como mtodos, es lo que podemos hacer con el objeto como por ejemplo abrir una caja, encender un televisor, etc... Identidad: Es lo que diferencia a un objeto de OTROS objetos de su misma CLASE
9 7
En la mayora de lenguajes de programacin como Python los objetos los declararemos por medio de las CLASES las cuales agruparan las propiedades anteriormente enunciadas (Estado, comportamiento e identidad). De esta forma definiremos la programacin orientada a objetos puede definirse como: el desarrollo de aplicaciones informticas a partir de estos objetos y sus interaccines. [5]
9 8
Clase: Contiene los atributos y mtodos de todos los objetos, la instanciacin es el procedimiento mediante el cual creamos un objeto en particular de una determinada clase. Herencia: Propiedad mediante la cual se transfieren o comparten propiedades de objetos de una clase (padre) a otra (hija) . Objeto: Instancia de una clase. Metodo: Es un comportamiento asociado a un objeto el cual se ejecutara al recibir un mensaje.
9 9
Abstraccin: Es el aislamiento de una entidad de tal forma que no nos preocupemos en el 'como lo hace', algo as como encerrarlo en una caja negra. Encapsulamiento: Es el ocultamiento de los datos de tal forma que estos solo puedan ser accedidos por los mtodos del objeto.
1 0
Modularidad: Permite dividir la aplicacin en partes ms pequeas las cuales pueden funcionar de forma independiente. Principio de ocultacin: NO confundir con abstraccin o encapsulamiento, consiste en aislar al objeto del exterior y hacen accesible los atributos solo por medio de una determinada interfaz.
1 0
Polimorfismo: Es la capacidad de usar objetos de diferente clase por medio de una misma interfaz por ejemplo obtener el permetro de un triangulo y/o un rectngulo. (ver ejemplo aqu: http://es.wikipedia.org/wiki/Polimorfismo_(programa ci%C3%B3n_orientada_a_objetos )) Herencia: Propiedad mediante la cual se transfieren o comparten propiedades de objetos de una clase (padre) a otra (hija) .
1 0
Recoleccin de basura: es la tcnica por la cual el entorno de objetos se encarga de destruir automticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos
1 0
1 0
1 0
1 0
1 0
1 0
1 0
1 1
BIBLIOGRAFIA
[1] http://es.wikipedia.org/wiki/Python [2] http://reflexionesdesdebaetulo.files.wordpress.com/2010/07/spanish-in quisition.jpg [3] http://www.python.org/ [4] http://docs.python.org/3/tutorial/ [5] http://www.desarrolloweb.com/articulos/499.php [6] http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objet os
1 1
Diego Camilo Pea Ramrez Bogot, Colombia Agosto de 2013 Twitter: @nervencid
1 1