Вы находитесь на странице: 1из 36

Lenguaje Python

Caractersticas generales

Lenguaje Python

Temario Caractersticas generales de Software Libre Origen del lenguaje El proceso de ejecucin Caractersticas del lenguaje

Lenguaje Python

Software Libre:
Se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo ms preciso, se refiere a cuatro libertades de los usuarios del software:
La libertad de usar el programa, con cualquier propsito (libertad 0). La libertad de estudiar cmo funciona el programa, y adaptarlo a necesidades propias (libertad 1). El acceso al cdigo fuente es una condicin previa para esto. La libertad de distribuir copias (libertad 2). La libertad de mejorar el programa y hacer pblicas las mejoras a los dems, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al cdigo fuente es un requisito previo para esto.

Lenguaje Python

Cdigo Abierto (http://www.opensource.org)


No solo significa posibilidad de acceso al cdigo. El trmino se completa con los siguientes criterios:
Libre redistribucin: el software debe poder ser regalado o vendido libremente. Cdigo fuente: el cdigo fuente debe estar incluido u obtenerse libremente. Trabajos derivados: la redistribucin de modificaciones debe estar permitida. Integridad del cdigo fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas slo como parches. Sin discriminacin de personas o grupos: nadie puede dejarse fuera. Sin discriminacin de reas de iniciativa: los usuarios comerciales no pueden ser excluidos Distribucin de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa

Lenguaje Python

Cdigo Abierto (Cont.)


La licencia no debe ser especfica de un producto: el programa no puede licenciarse solo como parte de una distribucin mayor. La licencia no debe restringir otro software: la licencia no puede obligar a que algn otro software que sea distribuido con el software abierto deba tambin ser de cdigo abierto. La licencia debe ser tecnolgicamente neutral: no debe requerirse la aceptacin de la licencia por medio de un acceso por clic de ratn o de otra forma especfica del medio de soporte del software.

La implementacin de Python esta bajo la licencia de Open Source. Esto hace que sea de libre uso y distribucin, incluso para uso comercial. La licencia de Python es administrado por la Python Software

Lenguaje Python

Origen del lenguaje


Desarrollado por Guido Van Rossum a finales de los aos 80 en el centro de investigacin en Matematicas CWI en Holanda. El nombre proviene del grupo de cmicos ingleses Monty Python. Fu creado para suceder al lenguaje de programacin ABC. En la primera versin ya estaban presentes clases con herencia, manejo de excepciones, funciones, y los tipos medulares: list, dict, str. Adems ya apareca un sistema de mdulos adoptado del lenguaje Modula-3

Lenguaje Python

Usos del lenguaje


Se ha utilizado y se utiliza ampliamente para:
Programar tareas de administracin de sistemas. Ej. En distribuciones Linux Produccin de efectos especiales de pelculas. Ej. empresa: Industrial Light & Magic En sistemas informticos de la NASA Gestin de grupos de discusin (ej. Yahoo lo utiliza) Parte de componentes de rastreadores Web y motores de bsqueda (ej. Google lo utiliza) Realizacin de juegos de computadora En la bioinformtica Enseaza de la programacin, etc. Lenguaje que en los ltimos aos ha crecido de manera constante. El inters en su uso ha ido aumentado

Lenguaje Python

Proceso de ejecucin
Existen dos formas de ejecutar cdigo Python:
Usando el modo interactivo y obtener una respuesta por cada lnea. Sesin interactiva o Escribir el cdigo de un programa en un archivo de texto y luego ejecutarlo.

Modo interactivo:
Existen otros programas, tales como IDLE e IPython, que aaden funcionalidades extra al modo interactivo, como el auto-completar cdigo y el coloreado de la sintaxis del lenguaje. Al ejecutar Python se abrir una ventana y aparecer un Indica el nmero de prompt similar a:
P y tho n 2.4 (# 1, De c 7 2004, 09:18:58) [G CC 3.4.1] o n s uno s 5 Ty p e " he lp" , " c o py right" , " c re d its " o r " lic e ns e " fo r m o re info rm a tio n.

versin y da informacin de derechos de copia, antes de mostrar el primer indicador

Lenguaje Python

IDLE (Python GUI)

Lenguaje Python

Caractersticas del lenguaje


Lenguaje de alto nivel, fcil de aprender. Muy expresivo y legible. Python puede usarse como lenguaje imperativo procedimental o como lenguaje orientado a objetos. Interpretado. Sintxis elegante y Tipado dinmico y fuerte. Tiene un eficiente manejo de estructura de datos de alto nivel. Lenguaje interpretado, ideal para crear scripts y rpido desarrollo de aplicaciones en muchas reas sobre la mayora de las plataformas. Multiplataforma.

Lenguaje Python

Sintaxis Bsica

Lenguaje Python

Temario
Variables y Tipos Conversiones Estructuras de Control Esquema de una aplicacin Python

Lenguaje Python

Variables y Tipos de Datos

Lenguaje Python
Variables
Una variable es un nombre que representa o refiere a un valor. Ejemplo:
>>> x = 3 El nombre x, representa el valor 3

En Python las variables no se declaran. El nombre de las variables pueden contener letras, dgitos y _ . Deben comenzar con letra. Importante:
Hay que asignarle un valor a una variable antes de poder utilizarla. Hace diferencia entre maysulas y minsculas: variable x es distinto de variable X

Lenguaje Python

Comentarios
Para insertar un comentario dentro del programa se utiliza el smbolo #. Si el comentario ocupa varias lneas, debe repetirse # en cada lnea.

Lenguaje Python

Tipos de datos
Bsicos:
Nmeros:
Enteros Flotantes Complejos

Booleanos Cadenas de texto

Colecciones (Estructuras de datos)


Listas Tuplas Conjuntos Dicciononarios

Lenguaje Python

Tipos Bsicos - Enteros


Se representan mediante los tipos int y long
Long, permite almancenar nmero ms grandes
Se almancenan en 64 bits y el rango de valores es de -9.233.372.036.854.775.808 a 9.233.372.036.854.775.807

Int (equivalen a los long de C)


Se almacenan en 32 bits y el rango de valores es de -2.147.483.648 a 2.147.483.647 Al asignar un nmero a una variable, le asociar un tipo int en caso que su valor entre en 32 bits, caso contrario reserva automticamente para un long (salvo con versiones Python menores a las 2.2)

>>> var_ent1= 32 >>> var_ent2= 32L

Entero Entero largo

Lenguaje Python

Enteros (Cont.)
El literal que se asigna a la variable tambin se puede expresar como un:
Un octal, anteponiendo un 0 (cero) o un Un hexadecimal, anteponiendo un 0x:

>>> var_ent3 = 027 >>> var_ent4= 0x17

Octal que representa al nmero 23 en base 10 Hexadecimal que representa al 23 en base 10

Lenguaje Python

Tipos Bsicos - Reales


Se representan mediante los tipos float
Se almancenan en 64 bits Son equivalentes a los double de C. Sigue el estndar IEEE 754: utiliza 1 bit para el signo, 11 para el exponente y 52 para la mantisa. El rango de valores es de 22250738585072020 x 10-308 a 17976931348623157 x 10308

Para el caso de necesitar representar fracciones de forma ms precisa, se cuenta con el tipo decimal, desde la versin 2.4 de Python
>>> var_real1= 0.2703 >>> var_real2= 0.1e-3
Notacin cientfica. Equivale al nmero: 0.1 x 10-3 =0.1x0.001=0.0001

Lenguaje Python

Sobre conversiones
La divisin entre enteros redondea para abajo.
Ej. >>> i= 7/2, da como resultado 3

Una expresin con nmeros mixtos se convierte a flotante.


Ej. >>> i= 7.5/2, da como resultado 3.75

Existen funciones que realizan conversiones explicitas, como ser float(), int() y long().
Ej. >>> i= int(7.5)/2, da como resultado 3

Lenguaje Python

Tipos Bsicos - Complejos


Son los tipos complex
Contienen una parte real y una parte imaginaria. Se almacenan usando punto flotante ya que son una extensin de los float.

En concreto se almancenan en una estructura de C, compuesta por dos variables de tipo double. Una parte almacena la parte real y la otra la parte imaginaria.
>>> var_comple= 2.1 + 7.8j
Parte real Parte imaginaria

Lenguaje Python
Complejos (Cont.)
Se pueden crear con la funcin complex.
Ej. >>> i=complex(2,3), da como resultado (2+3j)

Para extraer la parte imaginaria o real de un complejo se utlizan .real o .imag


Ej. >>> i=complex(2,3)

i.real da como resultado 2.0 e


i.imag da como resultado 3.0

NO se pueden aplicar conversiones explcitas a enteros o flotantes con las funciones float(), int() o long(). Se usa abs() para obtener el mdulo de un complejo.

Lenguaje Python

Operadores aritmticos y a nivel de bit


Operaciones que pueden hacerse sobre variables numricas y nmeros. (Para operaciones ms complejas, usar biblioteca math)
Operador + * / ** // % Descripcin Suma Resta Multiplicacin Divisin Negacin Exponente Divisin entera Resto de la divisin

Operadores aritmticos

Lenguaje Python

Tipos Bsicos - Booleanos


Contienen 2 nicos valores Operadores lgicos
D escripcin S e cu mp le a y b ? S e cu mp le a o b ? No a

True False

Ejemplo r = T ru e an d F als e # r es False r = T ru e o r F als e # r es True r = n o t T ru e # r es False

Operadores relacionales
Operador == != < > <= >= Descripcin S on ig uales a y b? S on dis tintos a y b? Es a menor que b? Es a may or que b? Es a menor o ig ual que b? Es a may or o ig ual que b? Ejemplo r = 5 == 3 # r es False r = 5 != 3 # r es True r = 5 < 3 # r es False r = 5 > 3 # r es True r = 5 <= 5 # r es True r = 5 >= 3 # r es True

Lenguaje Python

Tipos Bsicos - Cadenas


Secuencia de caracteres (letras, nmeros, marcas de puntuacin, etc.). Se encierran entre comillas simples ' ' o comillas dobles + (concatenacin) Algunos operadores: * (repeticin) Ejemplos:
>>> nombre = 'pepe ' >>> apellido = perez >>> nombre + apellido 'pepe perez' >>>'perez' * 5
+ operador de concatenacin entre dos cadenas * operador de repeticin de cadenas

Lenguaje Python

Cadenas (cont.)
Operadores de comparacin: ==, !=, >, <, >=,<= Ejemplos:
>>> 'pepe ' == 'pepe' true >>> juan<ana false Python utiliza un criterio de comparacin de cadenas muy natural: el rden alfabtico Python utiliza los cdigos ASCII de los caracteres para decidir su orden
Para saber el rden que ocupa un carcter se cuenta con las funciones predefinidas ord() y chr(), su funcin inversa.

Lenguaje Python

Cadenas (cont.)
Funciones predefinidas que manipulan cadenas:

Funcin int() float() str() ord() chr()

Descripcin
Convierte la cadena numrica a entero Convierte la cadena numrico a flotante Convierte un nmero a string Devuelve el cdigo ASCII (nmero entero) correspondiente del carcter Devuelve el carcter correspondiente al nmero

Ejemplo

Lenguaje Python

Cadenas (cont.) Algunos mtodos propios de las cadenas:


Mtodos a.lower() a.upper() Descripcin
Convierte los caracteres de la cadena a a minscula Convierte los caracteres de la cadena a a maysucula

Ejemplo

Lenguaje Python

Cadenas (cont.): Scape


Cmo colocamos en una cadena de caractres especiales y que Python no lo interprete en forma errnea? Ej: error al querer colocar en una cadena el carcter especial de salto de lnea
Error al intentar insertar un Enter en la cadena

Ej.: \n: salto de lnea; \t: tabulacin, etc.

Uso de caracter de escape para insertar El carcter de escape \ hace que lo que caracteres como carcter especial. siga se tome especiales

Lenguaje Python

Cadenas (cont.): Scape

Lenguaje Python

Cadenas (cont.): Otros usos de \


El carcter de escape \ se utiliza tambin para representar otros caracteres que no se pueden representar directamente en una cadena. Ej.: \, '', Para representarlas en una cadena deben estar antecedidas por \. Ej: >>>print 'ao\'10' , imprime ao'10

Lenguaje Python

Cadenas (cont.):
Longuitud de las cadenas Uso de funcin predefinida len()

len('') devuelve longuitud 0 len(' ') devuelve longuitud 1

Lenguaje Python

Cadenas (cont.):
Accediendo a los caracteres de las cadenas cadena = 'Hola que tal'

El operador : (slicing), nos permite obtener subcadenas. [:] devuelve toda la cadena Indices negativos, recorren de derecha a izquierda la cadena

Lenguaje Python

Tipos Estructurados - Listas


Coleccin ordenada, equivalente a Arrays o Vectores Puede contener cualquier tipo de datos, inclusive listas. Ej.: lis1= [22, True, 'una lista', [1,7]] Forma de acceder a sus elementos: Indicar el ndice del elemento (posicin dentro de la lista), entre corchetes []. IMPORTANTE: los ndices comienzan en 0.

Ej.: lis1[1] = False, esto provoca que el 2do elemento de la lista se


cambie

Para acceder a elementos listas, se debe usar tambin []. El primero indica posicin de la lista exterior, los otros indican posicin de las listas interiores. Ej.: lis1[3][1], devuelve 7 Se pueden usar indices negativos. En ese caso se comienza a contar desde atrs. Ej.: lis1[-3], devuelve True

Lenguaje Python

Listas (Cont.)

lis1= [22, True, 'una lista', [1,7]]

Seleccionando porciones de listas (Slicing): Para seleccionar parte de una lista se debe colocar inicio:fin. Indica que queremos la parte de la lista que comprende desde el elemento inicio hasta el elemento anterior a fin. NO incluye al elemento cuyo ndice es fin. Ej.: lis1[1:3], devuelve la lista [True,'una lista']
Si no se pone inicio o fin, se toma por defecto las posiciones de inicio y fin de la lista. Ej.: lis1[ :2], devuelve la lista [22,True,'una lista']
lis1[2:], devuelve la lista ['una lista',[1,7]]

Lenguaje Python

Listas (Cont.)

lis1= [22, True, 'una lista', [1,7]]

Se puede utilizar el mecanismo de Slicing para: Modificar elementos de las listas


Ej.: lis1[0:2]=[1,2], la lista quedara [1,2,'una lista',[1,7]]

Agregar o quitar elementos a la lista cambiando su tamao


Ej.:
lis1[0:2]=[1,2,3], la lista quedara [1,2,3,'una lista',[1,7]] Ac se cambi

el tamao de la lista, agregando un elemento ms (el elemento 3)


lis1[0:2]=[1], la lista quedara [1,'una lista',[1,7]]

Ac se cambi el tamao de la lista, cambiando el primer


elemento y quitando el segundo
Existen funciones predefinidas que permiten modificar listas

Вам также может понравиться