Você está na página 1de 48

PYTHON

Introduccin y conceptos bsicos.


Yrving Rodrigo Cornejo

Temario
Introduccin al lenguaje Python. Qu es Python. Filosofa de Python. Instalacin. IDE para Python. Hola Mundo. Expresiones, variables, tipos de datos y operadores. Expresiones. Variables y palabras reservadas. Tipos de datos bsicos. Operadores.

Temario
Entrada y salida estndar. print Despliegue con formato. eval() raw_input() input() Estructuras de datos. Listas. Tuplas. Diccionarios. Cadenas de caracteres. Sets.

Temario
Flujo de datos. Comentarios. Indentacin. Condicionales. Bucles. Iteraciones. Excepciones.

Funciones. Definicin de funciones. mbito (Scope). Declaracin de nombres globales.

Temario
Mdulos y paquetes. Mdulos de Python. Importacin. Espacio de nombres. Creacin de mdulos. Proyectos en Ninja-IDE. Introspeccin. Paquetes.

Qu es Python?
Lenguaje de programacin de alto nivel multi-propsito, interactivo e interpretado. Creado por Guido Van Rossum. Es de cdigo abierto. El nombre es en honor a Monty Python Flying Circus. Altamente popular. Altamente portable. Se adecua a diversos paradigmas de programacin (programacin funcional, programacin orientada a objetos, programacin estructurada)

Filosofa de Python
Bello es mejor que feo. Explcito es mejor que implcito. Simple es mejor que complejo. Complejo es mejor que complicado. Plano es mejor que anidado. Ralo es mejor que denso. La legibilidad cuenta. Los casos especiales no son tan especiales como para quebrantar las reglas. Aunque lo prctico gana a la pureza. Los errores nunca deberan dejarse pasar silenciosamente. A menos que hayan sido silenciados explcitamente. Frente a la ambigedad, rechaza la tentacin de adivinar. Debera haber una -y preferiblemente slo una- manera obvia de hacerlo. Aunque esa manera puede no ser obvia al principio a menos que usted sea holands.18 Ahora es mejor que nunca. Aunque nunca es a menudo mejor que ya mismo. Si la implementacin es difcil de explicar, es una mala idea. Si la implementacin es fcil de explicar, puede que sea una buena idea. Los espacios de nombres (namespaces) son una gran idea Hagamos ms de esas cosas!

Instalacin
Prcticamente todas las distribuciones de GNU/Linux y *BSD tienen una versin de Python 2 pre-instalada. MacOS X tiene Python instalado de origen. El instalador para Windows debe ser descargado de http://www.python.org

IDE para Python


IDLE. devpy para Eclipse. SPE. Boa Constructor. Vim. Emacs. Gedit. Wing IDE. Komodo. Ninja IDE.

Primer Hola Mundo


Para crear nuestro primer Hola Mundo con Python, basta con teclear Python en nuestra consola y esto mostrar la interfaz interactiva en la cual escribiremos: print Hola Mundo

Expresiones, variables, tipos de datos y operadores bsicos.

Expresiones
Una expresin es una combinacin de valores, operadores y variables. 1+1 "azul" + " rojo" print "Hola"

Variables
Todos los elementos de Python son objetos, incluyendo a los tipos de datos bsicos. Al crearse un objeto de cualquier tipo es posible ligar a ste un nombre mediante el operador de asignacin "=". ej: colores = "azul" + " rojo" matriz = [["autobs", "diesel", True], ["automvil", "gasolina","True"]] Desde un enfoque de programacin estructurada este tipo de asignaciones pueden ser consideradas como variables. Una variable siempre debe ser definida antes de ser utilizada.

Palabras reservadas de Python


Las palabras reservadas (keywords) no pueden ser utilizadas como nombres de variables. Pueden ser consultadas con help('keywords') desde la interfaz interactiva.

Tipos de datos bsicos


Nmeros Enteros (int, long) Decimales (24, 60) Hexadecimales (0x18, 0x3c) Octales (030, 074) De punto flotante (float, double) Complejos (complex) 3 + 45j, 1j Cadenas de texto Encerradas entre comillas "" o apstrofes '' 'Hola Mundo' "Vamos a dormir UnU" Valores booleanos True/False

Funciones tiles para tipos de datos


type() regresa el tipo de dato de una variable. str() transforma en una cadena de caracteres el contenido de una variable. int() transforma en un tipo entero el contenido de una variable. float() transforma en un nmero de punto flotante el contenido de una variable. complex() transforma en un nmero complejo el contenido de una variable. bool() transforma en un valor booleano el contenido de una variable. cualquier valor distinto de 0 es True

Operadores en Python

Operadores aritmticos

Operadores de asignacin

Jerarqua de operadores
Los operadores se apegan a la siguiente regla de precedencia y de izquierda a derecha:

Parntesis Exponente Multiplicacin Divisin Suma Sustraccin(resta)

Operadores de cadenas

Operadores booleanos

Operadores de relacin

Entrada y Salida estndar

print
print despliega en una terminal de texto la informacin que se le indica. print puede desplegar tanto cadenas de texto como valores. Cuando print incluye una expresin, sta es evaluada antes de ser desplegada.

Despliegue con formato


Para desplegar datos numricos en un formato especfico se utiliza el carcter sobre-escritura % seguido principalmente de uno de los siguientes caracteres.

Despus de la cadena se aade otro % y los valores a desplegar entre parntesis. Si slo es un valor, no es necesario el parntesis.

eval()
eval() es una funcin de Python que realiza la evaluacin de una cadena de texto como si fuera una expresin. eval (<cadena de texto>) Cuando una cadena de texto no contenga una expresin vlida, eval() generar un mensaje de error.

raw_input()
La funcin por defecto para leer la entrada estndar es raw_input() . raw_input() permite desplegar un mensaje de tipo cadena de texto antes de esperar para que se ingrese informacin. raw_input(<cadena>) raw_input() lee la entrada estndar hasta que se introduce un retorno de carro. El contenido capturado es una cadena de caracteres y ste puede ser asignado a una variable. <variable> = raw_input(<cadena>)

input()
input() funciona de forma similar a raw_input(). Sin embargo, input() evala el contenido de lo que se ingresa de forma similar a eval(raw_input()). De ese modo, input() puede regresar valores de diversos tipos, en vez de slo cadenas de texto.

Estructuras de datos

Las estructuras de datos son tipos de datos avanzados propios de Python. Las estructuras son conjuntos elementos que pueden estar ordenados o no. Las estructuras al igual que todos los tipos de datos son tratados como objetos en Python, por lo que existen mtodos intrnsecos para cada una de ellas. Tipos principales de colecciones: Listas list() Tuplas tuple() Diccionarios dict() Cadenas de texto str() Sets set()

Listas list()
Definidas entre corchetes [ ] Separadas por comas. Los elementos de una lista tambin pueden ser una lista. Ejemplos: [azul, 3.2, verde, 45, True] ["superficie", "permetro", ["base", "altura"]] [[helicptero, millas, 230], [autobs, kilmetros, 120,false]] La posicin de un elemento de la lista corresponde a un nmero a partir de 0 de izquierda a derecha o a partir de -1 de derecha e izquierda.

Es posible modificar los contenidos de un elemento de una lista mediante el operador de asignacin "=" , sin embargo, no se pueden aadir elementos por este procedimiento. <lista>[<ndice>] = <valor>

Para eliminar un elemento de una lista se utiliza la declaracin del.

Es posible concatenar una lista con el operador "+" . El operador "*" repite y concatena una lista el nmero de veces que se indique.

Algunas funciones de listas


len(<lista>) da el tamao de la lista. max(<lista>) despliega el elemento mayor de la lista. min(<lista>) despliega el elemento menor de la lista. sum(<lista>) despliega la suma de la lista.

Algunos mtodos de las listas


<lista>.append(valor) aade un valor al final de la lista. <lista>.insert(posicin, valor) aade un valor en la posicin indicada, desplazando el resto de los elementos de la lista. <lista>.remove( valor) elimina el primer elemento que sea igual al valor indicado. <lista>.reverse( ) invierte el orden de la lista. <lista>.sort( ) ordena de forma ascendente los elementos de la lista. <lista>.pop( ) elimina el ltimo elemento de la lista y regresa su valor.

Efecto de espejo(Aliasing)
Debido a que las estructuras de datos son objetos, cuando utilizamos el operador de asignacin "=", no se crea una nueva lista con un nombre distinto a la lista original, sino que se le da otro nombre a la lista (alias).

Rebanado de listas
Es posible extraer elementos de una lista dentro de un rango. <lista nueva> = <lista>(<ndice_inicial>:<ndice_final>) El resultado del rebanado ser una nueva lista de elementos que van del ndice inicial al anterior al ndice final.

Você também pode gostar