Presentacion Python
Presentacion Python
Presentacion Python
Python
Introduccin
El Zen de Python
Tim Peters plasm de forma concisa los principios de diseo por los que guiarse
al escribir en Python segn el BDFL (NT: Benevolent Dictator for Life o Dictador
Benvolo de por Vida, en este caso Guido van Rossum, el creador de Python)
Python
Es un lenguaje de scripting orientado a objetos, capaz de realizar aplicaciones
Windows o pginas web.
PEP (Python Enhacement Proposal ) es la gua de estilo de programacin en
Python. Actualmente la versin 8 es la mas actual.
Python es un lenguaje de programacin que puede ser clasificado como:
Lenguaje de alto nivel: Expresa los algoritmos de una manera mas cercana a la
capacidad cognitiva humana.
Multiplataforma: GNU/Linux, Windows, Mac OS, Solaris.
Tipado dinmico: Sus variable no requieren se definidas asignando su tipo de
datos, si no que se auto asigna en tiempo de ejecucin.
Multi paradigma: Acepta diferentes paradigmas (tcnicas de programacin).
Python
Python es un lenguaje interpretado, lo cual puede ahorrarte mucho
tiempo durante el desarrollo ya que no es necesario compilar ni
enlazar. El intrprete puede usarse interactivamente, lo que facilita
experimentar con caractersticas del lenguaje, escribir programas
descartables, o probar funciones cuando se hace desarrollo de
programas de abajo hacia arriba. Es tambin una calculadora de
escritorio prctica.
Python permite escribir programas compactos y legibles. Los programas
en Python son tpicamente ms cortos que sus programas equivalentes
en C, C++ o Java por varios motivos:
Los tipos de datos de alto nivel permiten expresar operaciones
complejas en una sola instruccin la agrupacin de instrucciones se
hace por sangra en vez de llaves de apertura y cierre
no es necesario declarar variables ni argumentos.
Modo interactivo
>>> 1 + 1
2
>>> a = range(10)
>>> print a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Variables
Las variables se definen de forma dinmica, lo que
significa que no se tiene que especificar cul es su tipo
de antemano y puede tomar distintos valores en otro
momento, incluso de un tipo diferente al que tena
previamente. Se usa el smbolo = para asignar valores.
x=123
#entero
x=123L #entero largo
x=3.14 #doble
x=hola #cadena
x=[0,1,2] #lista
x=(0,1,2) #tupla
x=open(archivo.py,r)
#archivo
Tipos de datos
Operadores
aritmticos
+ Suma
a = 10 + 5 a es 15
- Resta
a = 12 - 7 a es 5
- Negacin
a = -5 a es -5
* Multiplicacin
a = 7 * 5 a es 35
** Exponente a = 2 ** 3
a es 8
/ Divisin a = 12.5 / 2
a es 6.25
// Divisin entera a = 12.5 / 2
a es 6.0
% Mdulo a = 27 % 4
a es 3
Elementos del
lenguaje
Python fue diseado para ser ledo con facilidad.
Una de sus caractersticas es el uso de palabras
donde otros lenguajes utilizaran smbolos. Por
ejemplo, los operadores lgicos !, || y && en
Python se escriben not, or y and,
respectivamente.
El contenido de los bloques de cdigo es
delimitado mediante espacios o tabuladores,
conocidos como indentacin, antes de cada lnea
de rdenes pertenecientes al bloque.
Debido al significado sintctico de la indentacin,
una instruccin debe estar contenida en lnea. No
obstante, si por legibilidad se quiere dividir la
instruccin en varias lneas, aadiendo una barra
invertida \ al final de una lnea.
Comentarios
Los comentarios se pueden poner de dos formas. La primera y
ms apropiada para comentarios largos es utilizando la
notacin ''' comentario ''', tres apstrofos de apertura y tres de
cierre. La segunda notacin utiliza el smbolo #, y se extienden
hasta el final de la lnea.
El intrprete no tiene en cuenta los comentarios, lo cual es til
si deseamos poner informacin adicional en nuestro cdigo
como, por ejemplo, una explicacin sobre el comportamiento
de una seccin del programa.
Comentario de una sola lnea
#Este es un comentario de una sola lnea
Comentario de varia lneas
Este es un comentario de
Varias lneas
Listas y Tuplas
Para declarar una lista se usan los corchetes [], en cambio,
para declarar una tupla se usan los parntesis (). En ambas los
elementos se separan por comas, y en el caso de las tuplas es
necesario que tengan como mnimo una coma.
Tanto las listas como las tuplas pueden contener elementos de
diferentes tipos. No obstante las listas suelen usarse para
elementos del mismo tipo en cantidad variable mientras que
las tuplas se reservan para elementos distintos en cantidad
fija.
Para acceder a los elementos de una lista o tupla se utiliza un
ndice entero (empezando por "0", no por "1"). Se pueden
utilizar ndices negativos para acceder elementos a partir del
final.
Las listas se caracterizan por ser mutables, es decir, se puede
cambiar su contenido en tiempo de ejecucin, mientras que las
tuplas son inmutables ya que no es posible modificar el
contenido una vez creada.
Listas
Tuplas
Conjuntos
Los conjuntos se construyen mediante set(items)
donde items es cualquier objeto iterable, como
listas o tuplas. Los conjuntos no mantienen el
orden ni contienen elementos duplicados.
Se suelen utilizar para eliminar duplicados de una
secuencia, o para operaciones matemticas como
interseccin, unin, diferencia y
diferencia simtrica.
Funciones
Las funciones se definen con la palabra clave def,
seguida del nombre de la funcin y sus
parmetros. Otra forma de escribir funciones,
aunque menos utilizada, es con la palabra clave
lambda (que aparece en lenguajes funcionales
como Lisp).
El valor devuelto en las funciones con def ser el
dado con la instruccin return.
Clases
Las clases se definen con la palabra clave class, seguida del
nombre de la clase y, si hereda de otra clase, el nombre de esta.
En Python 2.x es recomendable que una clase herede de "object",
en Python 3.x esto ya no har falta.
En una clase un "mtodo" equivale a una "funcin", y una
"propiedad" equivale a una "variable".
"__init__" es un mtodo especial que se ejecuta al instanciar la
clase, se usa generalmente para inicializar propiedades y ejecutar
mtodos necesarios. Al igual que todos los mtodos en Python,
debe tener al menos un parmetro, generalmente se utiliza self.
El resto de parmetros sern los que se indiquen al instanciar la
clase.
Las propiedades que se desee que sean accesibles desde fuera
de la clase se deben declarar usando self. delante del nombre.
En python no existe el concepto de encapsulacin,22 por lo que el
programador debe ser responsable de asignar los valores a las
propiedades
Condicionales
Una sentencia condicional (if) ejecuta su
bloque de cdigo interno slo si se cumple cierta
condicin. Se define usando la palabra clave if
seguida de la condicin, y el bloque de cdigo.
Condiciones adicionales, si las hay, se introducen
usando elif seguida de la condicin y su bloque de
cdigo. Todas las condiciones se evalan
secuencialmente hasta encontrar la primera que
sea verdadera, y su bloque de cdigo asociado es
el nico que se ejecuta. Opcionalmente, puede
haber un bloque final (la palabra clave else
seguida de un bloque de cdigo) que se ejecuta
slo cuando todas las condiciones fueron falsas.
Bucle for
El bucle for es similar a foreach en otros
lenguajes. Recorre un objeto iterable, como una
lista, una tupla o un generador, y por cada
elemento del iterable ejecuta el bloque de cdigo
interno. Se define con la palabra clave for seguida
de un nombre de variable, seguido de in, seguido
del iterable, y finalmente el bloque de cdigo
interno.
Bucle while
l bucle while evala una condicin y, si es
verdadera, ejecuta el bloque de cdigo interno.
Contina evaluando y ejecutando mientras la
condicin sea verdadera. Se define con la palabra
clave while seguida de la condicin
Mdulos
Existen muchas propiedades que se pueden
agregar al lenguaje importando mdulos, que son
"minicdigos" (la mayora escritos tambin en
Python) que proveen de ciertas funciones y clases
para realizar determinadas tareas. Un ejemplo es
el mdulo Tkinter, que permite crear interfaces
grficas basadas en la biblioteca Tk. Otro ejemplo
es el mdulo os, que provee acceso a muchas
funciones del sistema operativo. Los mdulos se
agregan a los cdigos escribiendo import seguida
del nombre del mdulo que queramos usar.
Crearemos un pequeo
modulo.
Al salir del intrprete Python y volver a entrar se
pierden las definiciones echas. Por lo tanto
debemos crear Script para programas mas largos.
def fib(n):
a, b = 0 , 1
while b < n:
print(b,
end = )
a , b = b, a
+b
print()
def fib2(n):
resultado =
[]
a, b = 0 , 1
while b < n:
resultado.appen
d(b)
a , b = b, a
+b
return
Import fibo
Fibo.fib( 1000 )
Fibo.fib2(100)
Fibo.__name__
$ python fibo.py 50
Si el mdulo se importa, ese cdigo no se ejecuta:
>>> import fibo
>>>
Biblioteca estndar
Python tiene una gran biblioteca estndar, usada
para una diversidad de tareas. Esto viene de la
filosofa "pilas incluidas" ("batteries included") en
referencia a los mdulos de Python. Los mdulos
de la biblioteca estndar pueden mejorarse por
mdulos personalizados escritos tanto en C como
en Python. Debido a la gran variedad de
herramientas incluidas en la biblioteca estndar,
combinada con la habilidad de usar lenguajes de
bajo nivel como C y C++, los cuales son capaces
de interactuar con otras bibliotecas, Python es un
lenguaje que combina su clara sintaxis con el
inmenso poder de lenguajes menos elegantes.
conclusin
Python demasiado bello, sencillo y potente para
ser real, sin embargo es REAL. Una de las
cuestiones que beneficia al lenguaje es la
necesidad de ser sencillo. Obtiene lo mejor de
cada lenguaje y lo combina para su uso cotidiano.
Aunque por nuestras experiencias laborales se ha
aprendido que libre != gratis, analizando Python
no solo se ve prometedor, adems cuenta con
una curva de aprendizaje muy baja y muy
documentado.
Referencias
http://es.wikibooks.org/wiki/Introducci
%C3%B3n_a_Python
http://docs.python.org.ar/tutorial/pdfs/TutorialPython2.
pdf
http://www.cursosdeprogramacionadistancia.com/stati
c/pdf/material-sin-personalizar-python.pdf
https://docs.python.org/2/tutorial/datastructures.html
http://www.usabilidadweb.com.ar/python.php
http://programacion.net/articulo/guia_de_aprendizaje_
de_python_65/3
http://www3.uji.es/~vjimenez/PL/python-by-vilar.pdf
https://sites.google.com/site/sugaractivities/home/cur
so-pygame/tipos-de-datos-complejos-de-python-coleccion
es---2a-parte---tuplas-y-diccionarios