Sie sind auf Seite 1von 6

Temas: Qu es Python? Python es un lenguaje de programacin de alto nivel, de hecho muy alto nivel.

Fue creado por Guido Van Rossum a finales de los ochenta y en 1994 por fin alcanz su versin 1.0. Actualmente existen hasta la versin 2.7.x y la versin 3.0.0 (3k). Ehm, Existen diferencias notables entre python 2k y 3k puesto que la creacin de python 3k fue desde cero, aunque siguen manteniendo la misma escencia: la programacin sencilla. Como dato curioso Python fue creado para un sistema operativo en especifico: Amoeba. Es un lenguaje programacin de alto nivel, muy expresivo, con una sintaxis elegante, posee muchas funciones, utiliza un entorno interactivo donde la ayuda se proporciona aun sin conexin a internet. Es de tan alto nivel que se ha llegado a conocer como el pseudocdigo ejecutable. Y algo sumamente importante: LA IDENTACIN DE CDIGO DEJA DE SER OPCIONAL PARA CONVERTIRSE EN UNA HERRAMIENTA DE PYTHON. Interpretado o compilado? Un compilador lee un programa escrito en un lenguaje de alto nivel y lo traduce en su integridad a un programa de cdigo mquina equivalente. Este programa de cdigo mquina puede ejecutarse tantas veces como se desee sin necesidad de regresar a leer el cdigo del programa escrio en alto nivel. C,C++, Vbasic, etc. son ejemplos de lenguajes compilados. Un intrprete lee lnea a lnea un programa escrito en un lenguaje de alto nivel y enseguida lo traduce al cdigo mquina equivalente y las ejecuta enseguida. Es decir, el programa en cdigo maquina se va creando sobre la marcha. Ambos procesos (lectura y traduccin) son simultneos y al final no se genera ningn cdigo maquina que sea posible de ejecutar. Python, PHP, pearl, basic!, etc, son lenguajes interpretados. Python es un lenguaje interpretado y por ende no le es posible crear ejecutables. Existen trampas para lograr esto pero requiere de un mayor conocimiento del intrprete y el proceso de traduccin. Para comprender mejor la diferencia. Un compilador seria una persona que recibe un libro para traducirlo, lo hace y escribe otro libro lo ms fielmente posible en otro idioma. Ese libro traducido se imprime millones de veces sin necesidad de traducirlo de nuevo. Un intrprete seria una persona que est en una conferencia y tiene que traducir lo que est hablando el conferencista, la traduccin se hace sobre la marcha. No se puede esperar hasta el final. Es de importancia decir que los programas compilados son mucho ms rpidos que los interpretados, aproximadamente entre 2 y 100 veces ms rpidos. Esto lleva a la pregunta Entonces porque demonios no solo programamos en lenguajes compilados? La principal razn de la existencia de los lenguajes interpretados es la flexibilidad que otorgan. Python es un claro ejemplo de esto.

Operaciones matemticas El prompt de Python funciona como una calculadora tambin. Python puede ejecutar operaciones bsicas en el prompt, tales como suma, resta, multiplicacin, divisin, potenciacin, modulo(devuelve el resto de la divisin entera). Por defecto entrega los resultados en enteros, para que devuelva resultados con punto decimal debemos manejar los Lucio A. Flores. Ingeniero en Informtica. IPN UPIICSA @Lvcios @UPIICSALIBRE

nmeros con punto decimal. Se puede trabajar con ambos tipos a la vez. Todos los operadores son asociativos por la izquierda. Por ejemplo 4/5.0 devolvera .75 y no 1.25. Pero la potencia es asociativa por la derecha, 2 ** 2 ** 3 es 256, primero se eleva 2**3 que es 8 y luego 2**8. Python devuelve el dato ms general. Recordemos que las operaciones se realizan de acuerdo a la jerarquia de los operadores. Por ejemplo: 4+5*2 = ? 40 14? 4+5/3 = ? 9 4? Suma +, resta , multiplicacin * , divisin/, mdulo %, potencia 3**3, exponente 3e3. Es obvio que la jerarqua de los operadores se puede alterar con el uso adecuado de los parntesis. En pocas palabras el prompt de Python funciona como una calculadora comn y corriente. Actividad pgina 36 pdf, ejercicio 15. 3 imanes de android a la persona que lo haga en el proyector. Tambin se cuenta con funciones predefinidas, en la libreria math, import math, ademas de otras que ya vienen en el lenguaje. Valor absoluto: abs(x) Convertir a flotante: float(x) Convertir a entero: int(x.x) Convertir un nmero a cadena('x') Redondear: round(x.x) round(x.xxxxx, truncamieto) Actividades, pag 54, ejercicios 27,28,29. Tambien contamos con la libreria math. Para usarla solo la importamos asi: from math import *, ahi estan todas las funciones matemticas clsicas de todos los lenguajes de programacin de alto nivel. Operadores lgicos: And, or, not. Python los reconoce como palabras o con los siguientes simbolos: &, |, !=. Operadores relacionales >,<, <=, >=, ==, != Actividad 44 pdf, ejercicio 17. La asignacin de variables es dinmica, pueden tener cualquier nombre excepto las palabras reservadas, python distigue entre mayusculas y minusculas. Actividad pgina 47 pdf, ejercicios 20, 21. 3 imanes de android al que lo pase a hacer en la lap. Cadenas Las cadenas se pueden manejar de forma dinmica. Por ejemplo x = 'cadena x'. Para mostrarla podemos usar print x o simplemente escribir x en el promt. Sin embargo existen diferencias notables entre usar print o solo mandar a imprimir x sola. Se concatenan asi: cadena1 + cadena2, otro ejemplo print x + 'hola mundo', otro ms y = x + ' Python es la ley =P' Como se hace esto en C, C++ y Java =S ?

Lucio A. Flores. Ingeniero en Informtica. IPN UPIICSA @Lvcios @UPIICSALIBRE

Algunas funciones interesantes con las cadenas son las siguientes: Multiplicacin de cadenas: cadena * n, 'hola' * 3. Actividades pag 50 pdf, ejercicios 23, 24. Obtener el cdigo ascci de un caracter ord('x') Obtener el carcter que representa un nmero chr(85) Comparacin de cadenas cadena1 > cadena 2, compara los tamaos de la cadena pero en cuanto a la suma de los valores ascii de sus carcteres. From string import * Convertir minsculas una cadena: cadena.lower(), por ejemplo: 'CONVIERTE A MINUSCULA'.lower() Convertir a maysculas cadena.upper() Capitalizar cadena: cadena.title(), por ejemplo 'hola mundo que tal'.title() Reemplazar cadenas: cadena.replace(patron,reemplazo) Convertir una cadena en un arreglo: cadena.split(parmetro de corte) Conocer la longitud de una cadena: len(cadena), pruebe a mandar un parmetro negativo. Capitalizar palabras capwords(cadena) Convertir una cadena en un nmero: cad = int(cad) Entrada y salida de datos Como ya sabemos un poco sobre el manejo de nmeros y cadenas ahora procederemos a manipular la entrada de datos, la funcin para introducir datos por teclado es la siguiente: raw_input('algun mensaje'). x = raw_input('introduce un dato: ') Prueben a introducir dos numeros y guardarlos en distintas variables, o simplemente sumarle uno la entrada de datos: x = raw_input('mete un nmero: ') y = x + raw_input('mete otro nmero =P') ahora imprime y, que sucede? Python lee la entrada de datos como un cadena de carcteres. Si queremos leer un numero tenemos que convertirlo, para eso solo usamos int(raw_input()) para entero, si lo queremos flotante float(raw_input()).

Programa de ejemplo: ecuacion.py: a = float(raw_input('valor de x: ')) b = float(raw_input('valor de b: ')) x = b/a print 'x = ' , x

Ejercicios: Cree un programa que lea una cadena y que cuente los carcteres que tiene. Que cuente las palabras que tiene, y que finalmente cambie alguna vocal a una letra que el usuario determine. Puden usar split(), len(cadena), raw_input(), replace(x,y). Estructuras de control Aqui es donde empieza a cobrar importancia la identacin de cdigo. Python promueve el cdigo elegante y fcil de leer, de entrada te garantiza que tu cdigo siempre ser fcil de leer y que vas a saber muy bien donde empiezan y terminan los bloques de las estructuras que vermos a continuacin. Lucio A. Flores. Ingeniero en Informtica. IPN UPIICSA @Lvcios @UPIICSALIBRE

Estructuras de seleccin: if, ifelse. El if es bastante sencillo, de hecho es casi lo mismo que otros lenguajes de programacin. If True: print 'y esto es un if' #importante identar cdigo con tabulaciones o espacios, una de dos, no se permite mezclar else: print 'y este su else correspondiente' Actividades: pgina 88 pdf ejercicios 58,59,60,61 Tambin es posible evaluar si son verdaderas las expresiones artmeticas, por ejemplo if 10*10 ==100: print 'cierto' Es posible anidar if unos dentro de otros, veamos un ejemplo sobre como resolver una ecuacin de segundo grado. ax + bx + c. (b + sqrt(b 4ac) ) / (2a) Primero pedimos los datos y calculamos tal cual, sin hacer uso del if. Pero que pasa si a = 0, ocurre un error de divisin por cero. Creamos un ifelse. Aun as, si a vale cero y b y c son diferentes de cero se trata de una ecuacin simple, x = c/b. Sera bueno que el programa nos indicara que se trata de una ecuacin de primer grado. Modificamos nuestra sentencia del else: x = c/b. Pero que pasa si a y b son igual a cero, tendremos otra divisin por cero que no se puede efectuar. Entonces crearemos un if anidado en el else =P. Y ya que andamos en esas tambin verificaremos que c es distinta a cero, esto para asegurar al usuario que la ecuacin tiene soluciones infinitas, puesto que c es la solucin y c al ser el termino independiente puede tomar cualquier valor. Aun asi hay otro error que podemos prevenir, el de la raz cuadrada, no existen raices cuadradas de numero negativos, por lo tanto debemos asegurarnos que (b 4ac) sea un nmero positivo.. Tambin hay que mencionar que en python existe el elseif, pero se escribe elif: if condicion: elif condicion: Actividades: pgina 89 pdf, ejercicios 65,66,68 Actividades: pgina 92 pdf, ejercicio 72. Actividades pag 99 pdf, ejercicios 83 Ciclos for in range, for each, while. Famoso ciclo while: while condicin: instrucciones... Ejemplo: contador y sumador, raz cuadrada. Actividades pgina 108, ejercicios 103105. Pgina 112, ejercicios 112, 113. Ciclo for in for variable in serie de valores: instrucciones Lucio A. Flores. Ingeniero en Informtica. IPN UPIICSA @Lvcios @UPIICSALIBRE

Por ejemplo: for nombre in ['luis','nelly', 'alexandra']: print nombre cadena = 'reemplazar las vocacales por la letra x' for vocal in ['a','e','i','o','u']: cadena = cadena.replace(vocal,'x') print cadena cadena Actividades pag 116, ejercicios 117, 119, Funcion range, esta funcion nos crear un arreglo de n posiciones. For i in range(3,10): print i**2 Range acepta, uno, dos o tres parmetros, probemos a insertar varios Actividades pag 118, ejercicios 120122, nmero primo. Los ciclos en python tambin aceptan la interrupcin por 'break'. Actividades pag 126, ejercicios 134,135. Tambin podemos anidar ciclos, e incluir break dentro de estos, solo que break afecta unicamente al ciclo en el que est incluida, es decir, si el break esta dentro del ciclo anidado solo quebrar este y no el bucle exterior.

Arreglos Una vez que ya hemos estudiado los ciclos y estructuras de seleccin, veremos los arreglos. Como bien sabemos los arreglos pueden ser de una o muchas dimensiones, en python es muy fcil crearlos con la funcion range, x = range(10). Pero veamos formas de crear arreglos de mas de una dimensin. Las cadenas son arreglos y ya vimos como funcionan, es de notar que el orden en que se concatenan las cadenas es de importancia, por ejemplo saludo = 'hola como estas' respuesta = 'muy bien y tu?' saludo = saludo + respuesta saludo saludo = 'hola como estas' saludo = respuesta + saludo saludo Ejercicio, invertir una cadena, usando ciclos por supuesto ;) Actividades pag 158 pdf, ejercicios 159161. Actividades pag 162 pdf, ejercicios 167, 170 Actividades pag 165 pdf, ejercicios 190192, 195 Ejercicio: substraer cadena y guardarla en otra cadena. Actividades pag 179 pdf, ejercicios 218 Operador 'is', indica si un objeto es la copia de otro. Por ejemplo Lucio A. Flores. Ingeniero en Informtica. IPN UPIICSA @Lvcios @UPIICSALIBRE

a = [1,2,3] b = [1,2,3] a=c a is b false a is c true Aadir elementos a un arreglo: arreglo + [elemento1, elemento2 ... elementoN] Paso de parmetros por consola import sys sys.arg[0] Lectura de archivos

Lucio A. Flores. Ingeniero en Informtica. IPN UPIICSA @Lvcios @UPIICSALIBRE

Das könnte Ihnen auch gefallen